首頁 > 運維 > Nginx > 主體

如何使用Nginx代理上網

PHPz
發布: 2023-05-22 19:35:18
轉載
2028 人瀏覽過

http 代理配置

# 正向代理上网
server {
  listen    38080;

  # 解析域名
  resolver   8.8.8.8;

  location / {
    proxy_pass $scheme://$http_host$request_uri;
  }
}
登入後複製

瀏覽器配置下代理ip 和端口,然後訪問http://www.ip138.com ,可以發現ip 已經變化了,說明生效了

然而訪問https 網站卻打不開,這是由於原生nginx 只支援http 正向代理,為了nginx 支援https 正向代理,可以打ngx_http_proxy_connect_module 補丁ssl 模組支援

新增https 代理程式模組

這裡需要重新編譯nginx,需要查看目前nginx 的版本和編譯選項,然後去官網下載同版本的nginx 原始碼重新編譯

/usr/local/nginx/sbin/nginx -v
登入後複製
wget http://nginx.org/download/nginx-1.15.12.tar.gz
tar -zxvf nginx-1.15.12.tar.gz
登入後複製

下載模組ngx_http_proxy_connect_module

git clone https://github.com/chobits/ngx_http_proxy_connect_module
登入後複製

打補丁,對nginx 原始碼修改,這一步很重要,不然後面的make 過不去

patch -d /root/nginx-1.15.12/ -p 1 < /root/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite
登入後複製

在原有配置後追加模組,make 後注意不要install

cd /root/nginx-1.15.12/
./configure --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module --add-module=/root/ngx_http_proxy_connect_module/
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp /root/nginx-1.15.12/objs/nginx /usr/local/nginx/sbin/
登入後複製

更改設定檔如下,然後啟動服務

# 正向代理上网
server {
  listen    38080;

  # 解析域名
  resolver   8.8.8.8;

  # ngx_http_proxy_connect_module
  proxy_connect;
  proxy_connect_allow      443 563;
  proxy_connect_connect_timeout 10s;
  proxy_connect_read_timeout   10s;
  proxy_connect_send_timeout   10s;

  location / {
    proxy_pass $scheme://$http_host$request_uri;
  }
}
登入後複製

以上是如何使用Nginx代理上網的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板