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

时间:2014-09-22 10:01:51

标签: html apache http dns ip

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

由于

4 个答案:

答案 0 :(得分:44)

您与之交谈的域名公司可能在解释域名如何运作方面做得很差。域名不是指特定端口。他们只是指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会调用这些"虚拟主机"和here is a set of examples。这是一个典型的解决方案,有些人通过这种方式在同一台服务器上运行数百个站点。

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

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

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

答案 1 :(得分:1)

您可以使用代理将给定域重新路由到IP:PORT。要实现这一点,您可以启动Nginx服务器并将其配置为反向代理,或者使用此项目完全按照您的要求进行,几乎不需要配置https://github.com/cristianoliveira/ergo

答案 2 :(得分:0)

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

<VirtualHost sub.domain.com:80>   
  ProxyPass / https://ip-or-domain.com:8088/ 
</VirtualHost>

答案 3 :(得分:-1)

后退并下注。 将新的第一页放在原始服务器的 80 端口上,允许冲浪者使用端口 80 上的原始 Web 服务器或端口上的新服务器 ???? 65536(开玩笑,随便选一个) 使其成为具有两个或多个选项的简单重定向页面。