這隻能使用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