1. 程式人生 > >Nginx之http正向代理

Nginx之http正向代理

lock int cat nginx code req 反向 正向 邏輯

正向代理:

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

反向代理:

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

正向代理的用途:

  1. 訪問無法訪問的資源,如google;

  2. 可以做緩存,加速訪問資源;

  3. 對客戶端訪問授權,上網進行認證;

  4. 代理可以記錄用戶訪問記錄,對外隱藏用戶信息;

nginx配置如下:

server {  
resolver 114.114.114.114 ipv6=off;  #必須設置,否則nginx無法處理接收到的域名
listen 80; 

location / {
proxy_pass http://$http_host$request_uri; #設置代理服務器的協議:url地址
}
}

註意事項:

  1. 不要出現sever_name指令,即不要設置虛擬主機的名稱和IP;

  2. resolver是必需的,如果沒有該指令,nginx無法處理接收到的域名;

  3. Nginx代理服務(默認模塊)不支持正向代理HTTPS站點。

以上nginx配置完成後,重啟下nginx就可以生效了。
此時我們在客戶端瀏覽器中設置代理服務:“Internet選項” -> “連接” -> “局域網設置” -> “代理服務器”,填入代理服務器IP和端口即可以訪問Internet了。

Nginx之http正向代理