创建一个指向不同于80的端口IP的域名

geo*_*rge 23 html apache ip dns http

我想使用域名指向本地服务器IP地址上的网页.但是,问题是页面链接到在端口8088上设置的IP地址而不是80,因为后者已被另一个网页使用.通过域名公司我被告知他们不能这样做,因为域名只能指向端口80上设置的IP地址.所以现在我陷入了僵局.我有什么替代方案,如何建立一个指向IP的域名:8088?

谢谢

Ken*_*ter 47

您与之交谈过的域名公司可能在解释域名如何运作方面做得很差.域名不是指特定端口.他们只是指IP地址.客户端可以查找主机名以获取客户端应连接的IP地址,但客户端必须在没有DNS帮助的情况下找出端口.端口80只是HTTP服务的默认端口.

如果您愿意,您当然可以在端口8088上运行Web服务器.端口号必须出现在URL中,例如http://somehost.example.com:8080/some/page.客户端将解析此并知道连接到端口8088而不是默认端口80.

如果您不希望URL包含端口号,那么请求将转到默认端口80,您别无选择,只能让在端口80上运行的Web服务器处理这些请求.HTTP/1.1请求包括客户端想要联系的主机名,现代Web服务器程序通常能够根据请求中的主机名提供完全不同的内容集.你需要的东西很少:

  1. 只需为端口80配置Web服务器即可处理这两个站点.这取决于您使用的是哪种Web服务器软件.例如,Apache调用这些"虚拟主机",这是一组示例.这是一种典型的解决方案,有些人通过这种方式在同一台服务器上运行数百个站点.

  2. 按计划运行两个Web服务器.将端口80的服务器设置为第二个网站的反向代理.服务器将继续为其现在处理的站点提供内容.当它收到第二个站点的请求时,它会将请求中继到在端口8088上运行的服务器,并将服务器的响应中继回客户端.

  3. 将端口80的现有服务器移动到其他端口.在端口80上运行纯反向代理服务器,将对两个网站的请求转发到各自的Web服务器.

您可能最好再向https://webmasters.stackexchange.com/https://serverfault.com/提出问题.

  • 即使是 2014 年的艰难,它也帮助我清除了很多东西,谢谢! (3认同)

Cri*_*ira 5

您可以使用代理将给定域重新路由到 IP:PORT。要做到这一点,您可以启动 Nginx 服务器并将其配置为您的反向代理,或者使用该项目完全满足您的需求并且几乎没有配置https://github.com/cristianoliveira/ergo


Gar*_*One 5

如果您在端口 80 上运行 Apache(这是最常见的情况),那么解决此问题的最简单方法是设置使用 ProxyPass 的 VirtualHost。

<VirtualHost sub.domain.com:80>   
  ProxyPass / https://ip-or-domain.com:8088/ 
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)