通過把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資源了^_^