Nginx配置正向代理

48次阅读
没有评论
Nginx 配置正向代理

一直在使用 nginx 的反向代理

最近也研究了一下正向代理

其实能做正向代理的软件很多的

比如 tinyproxy、mitmproxy 等

发现预编译版的 nginx 实现 nginx 功能并不全

只能实现 http 协议的代理

于是探索了一下,发现了一个叫 ngx_http_proxy_connect_module 的第三方的模块

简单记录一下安装过程

步骤

下载 nginx 源码包

wget https://nginx.org/download/nginx-1.26.3.tar.gz

下载模块的补丁包

wget https://github.com/chobits/ngx_http_proxy_connect_module/raw/refs/heads/master/patch/proxy_connect_rewrite_102101.patch

下载第三方代理模块包

wget https://github.com/chobits/ngx_http_proxy_connect_module/archive/refs/tags/v0.0.7.zip

tar -xvf nginx-1.26.3.tar.gz

tar -xvf v0.0.7.zip

cd nginx-1.26.3/

 patch -p1 < ../proxy_connect_rewrite_102101.patch

 ./configure –add-module=../ngx_http_proxy_connect_module-0.0.7

make && make install

正向代理的 nginx 的配置文件

server {
    listen 8080;
    resolver 8.8.8.8;

    # Enable HTTPS forward proxy
    proxy_connect;
    proxy_connect_allow 443;
    proxy_connect_connect_timeout 10s;
    proxy_connect_read_timeout 10s;
    proxy_connect_send_timeout 10s;

    location / {if ($request_method = CONNECT) {proxy_pass https://$host:$server_port;}
        proxy_pass http://$http_host$request_uri;
    }
}

正文完
 
评论(没有评论)
验证码