web中介軟體應用系列:Nginx正向代理(共享)上網

本系列文章是把作者學習web中介軟體時候的實操記錄分享出來,內容主要包括web中介軟體入門的一些理論概念知識、場景應用、程式部署,希望能夠幫到一些初學者,少走一些彎路。

Nginx正向代理(共享)上網

1。場景

正向代理可以實現代理上網場景。代理的過程涉及到3個角色,客戶端(即使用者)(client)、代理服務(proxy)、目標伺服器(server),客戶端經過代理最終訪問目標伺服器的資源。

客戶端A電腦:192。168。253。131,不能上網。代理B電腦:192。168。253。1,192。168。1。100,可以上網。

2。配置步驟

(1)配置nginx代理服務

修改config/nginx。conf配置,內容如下

server { listen 8000; resolver 223。5。5。5 114。114。114。114; #DNS伺服器 location / { proxy_pass http://$http_host$request_uri; }}

(2)配置客戶端

開啟“控制面板”或“IE瀏覽器”-“Internet選項”-“連線”選項卡-“區域網設定”-“代理伺服器”,勾選“為LAN使用代理伺服器”,地址192。168。2536。1,埠8000,確定。

web中介軟體應用系列:Nginx正向代理(共享)上網

(3)測試訪問

訪問地址:http://nginx。org/en/docs/http/ngx_http_core_module。html,可以正常訪問。

3。https代理

上面的配置只能代理http協議,現在大多網站都是https協議,只配置上面是不行的,需要配置https代理。

由於nginx本身是不支援https代理的,我網上找了各種方法,主要有2種。

方法一是給nginx安裝ngx_http_proxy_connect_module模組,透過編譯安裝,這裡不再贅述,不支援windows。其實這個代理配置主要是針對windows的,Linux下可以用系統防火牆自帶的SNAT源地址轉換更方便,後頭找個時間講講。

修改config/nginx。conf配置,內容如下

server { listen 8000; resolver 223。5。5。5 114。114。114。114; #DNS伺服器 proxy_connect; proxy_connect_allow 443 563; #制定允許開啟connect的埠,預設是443和563,可以設定為all location / { proxy_pass http://$http_host$request_uri; }}

方法二是配置另外配置1個server用另一個埠(8001)代理https訪問。但是該方法未成功,找原因也沒找到(不知道其他人咋搞的),這裡不再貼具體配置了。等到回頭弄清楚原理以及測試好了再把這部分補上

IT小胖豆:初學者踩坑之路及過程分享,希望能夠幫到一些初學者,歡迎各位IT打工人,入坑討論-_-