Apache-2.2
如何在 nginx 上做代理?
我將如何設置我的網路伺服器以如下所述的方式工作?
- Http 請求:mypublic.com —> 由 nginx 正常處理,因為它已經設置(
listen 80;
)- Http 請求:myprivate.com —> 由 apache 處理,設置為在 8080 (
listen 8080
)上工作我想避免在瀏覽器中輸入地址時包括埠,在 nginx 上使用某種模型(代理?/魷魚?)。這兩個域都指向我的機器並由命名設置。
使用 nginx,您可以通過配置兩個虛擬伺服器並將其中一個代理傳遞給執行在埠 8080 上的 Apache 來實現:
server { listen 80; server_name mypublic.com; ... } server { listen 80; server_name myprivate.com; location / { proxy_pass http://myprivate.com:8080; } }
有關文件,請參見此處:
您不能直接使用 DNS 執行此操作,因為 DNS 不處理埠。
您可以在埠 80 上使用某種形式的代理將請求傳遞到埠 8080。Apache 的範例可能是
<VirtualHost *:80> Servername contoso.com . . . </VirtualHost> <VirtualHost *:80> Servername apache.contoso.com ProxyRequests Off <Proxy *> Order deny,allow allow from all </Proxy> ProxyPreserveHost On ProxyPass / http://contoso.com:8080/ ProxyPassReverse / http://contoso.com:8080/ </VirtualHost>