1. 程式人生 > >Nginx正向代理配置

Nginx正向代理配置

        通過把Nginx設定為正向代理,我們就可以在區域網中用執行著Nginx的主機作為正向代理伺服器了。那什麼是正向代理和反向代理呢?正向代理和反向代理-百度百科

正向代理:如果把區域網外的Internet想象成一個巨大的資源庫,則區域網中的客戶端要訪問Internet,則需要通過代理伺服器來訪問,這種代理服務就稱為正向代理。


反向代理:如果區域網向Internet提供資源服務,讓Internet上的其他客戶端來訪問區域網內的資源,使它們必須通過一個代理伺服器來進行訪問,這種服務就稱為反向代理。正向代理和反向代理邏輯正好相反。


        Nginx正向代理涉及到的指令較少,下面直接貼上其配置檔案內容。

...
server {
	resolver 192.168.1.1; #指定DNS伺服器IP地址
	listen 8080;
	location / {
		proxy_pass http://$http_host$request_uri; #設定代理伺服器的協議和地址
	}
}
...
        設定nginx代理服務,一般是配置到一個server塊中。注意,在該server塊中,不要出現server_name指令,即不要設定虛擬主機的名稱和IP。而resolver是必需的,如果沒有該指令,nginx無法處理接收到的域名。其次,nginx代理服務不支援正向代理HTTPS站點。

        配置完成後,重啟nginx就可以生效了。此時我們在瀏覽器中設定代理服務:“Internet選項” -> “連線” -> “區域網設定” -> “代理伺服器”,然後設定如下:


        這裡IP地址為執行nginx主機的IP地址,埠為我們配置檔案中設定的listen埠號。這樣我們就可以通過nginx的正向代理來訪問Internet資源了^_^