nginx配置正向代理

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-master
  unzip 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-master

make && 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;
    }
}
posted @ 2024-08-06 18:52  SunArmy  阅读(91)  评论(0编辑  收藏  举报