
一直在使用 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/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;
}
}
正文完