这只能使用DNS才能完成。默认情况下,当URL以“http”开头而没有指定端口时,Web浏览器尝试连接到端口80。用户必须知道连接到端口8080和显式访问URL作为
http://example-2.com:8080
我假设你在相同的操作系统环境/ IP地址同时运行Web服务器实例,虽然这也将单独工作托管环境。您可能需要的是一个反向Web代理,它可以检查请求的域名和路由到适当的服务器实例。您将在端口80上运行反向Web代理,并可能将您当前在端口80上运行的服务器移动到另一个端口(如8081)。
Apache与mod_proxy和虚拟主机设置是一个可能的解决方案。假设example.com和example-2.com点到Apache实例配置它是这样的:
<VirtualHost *:80>
ServerName example.com
ServerAdmin [email protected]
ProxyRequests off
ProxyPreserveHost on
ProxyPass/http://localhost:8081/
ProxyPassReverse/http://localhost:8081/
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
</VirtualHost>
<VirtualHost *:80>
ServerName example-2.com
ServerAdmin [email protected]
ProxyRequests off
ProxyPreserveHost on
ProxyPass/http://localhost:8080/
ProxyPassReverse/http://localhost:8080/
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
</VirtualHost>
你也许可以用反向代理要做到这一点,但总的来说,你不能有两个不同的过程监听相同的TCP/IP端口。 – 2014-12-03 17:26:31
好,所以反向代理会监听端口80上的所有内容,并重定向到其余的服务? – Cystack 2014-12-03 17:31:50