1、下载源码包
# 地址http://nginx.org/download/
2、下载ngx_http_proxy_connect_module补丁包
# 下载地址https://github.com/chobits/ngx_http_proxy_connect_module/archive/master.zip
3、使用patch对源码包进行打补丁
# 先解压补丁包,得到的包名是ngx_http_proxy_connect_module-masterunzip master.zip
# 使用patch打补丁,注意一定要选择对版本,看下面版本对应关系patch -p1 < /data/soft/nginx-1.25.3/src/ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_102101.patch
注:如果没有patch命令需要自己安装一下:yum install patch -y
4、编译
# 在源码包里面进行编译,注意要添加模块 --add-module=/data/soft/nginx-1.25.3/src/ngx_http_proxy_connect_module-master
./configure --prefix=/data/soft/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx --add-module=/data/soft/nginx-1.25.3/src/ngx_http_proxy_connect_module-mastermake && make install
注意:如果在执行make的时候报了【"NGX_HTTP_CONNECT" redefined [-Werror]】类似于这种错,是你补丁版本不对,如果确定补丁版本是对的,那可能是因为之前已经打了补丁,需要把当前源码删掉,重新下载一个同样版本的源码,然后重新打补丁,重新编译,鄙人在这儿踩了好久的坑
5、配置正向代理
# 在nginx.conf文件的http模块下添加以下配置
server {listen 1080;resolver 8.8.8.8;proxy_connect;proxy_connect_allow 443 563 80;proxy_connect_connect_timeout 10s;proxy_connect_read_timeout 10s;proxy_connect_send_timeout 10s;location / {proxy_pass $scheme://$http_host$request_uri;}
}