Nginx实现正向代理

cd /root# 从http://nginx.org/download下载合适的版本(1.25.3)tar -xvzf nginx-1.25.3.tar.gzcd nginx-1.25.3mkdir modules# 从https://github.com/chobits/ngx_http_proxy_connect_module下载文件夹# patch版本需要根据README.md中的版本对应关系patch -p1 < /root/nginx-1.25.3/modules/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_102101.patch# 中途如果提示部分库不存在,补充安装即可。需要config过程不能出错./configure --add-module=/root/nginx-1.25.3/modules/ngx_http_proxy_connect_module# 编译并安装,需要解决编译安装过程中可能出现的问题make && make install在nginx配置目录增加sites文件夹,创建proxy文件:
server { listen 7890; # DNS 解析器,用于正向代理 # resolver <dns_ip> ipv6=off; # 对 CONNECT 请求的正向代理 proxy_connect; proxy_connect_allow 443 563; proxy_connect_connect_timeout 10s; proxy_connect_data_timeout 10s; # 非 CONNECT 请求的自定义配置 # 示例:非 CONNECT 请求的反向代理 location / { proxy_pass http://$host; proxy_set_header Host $host; }}在其他无法访问外网,但能访问代理主机的服务器上通过代理访问
curl --proxy <proxy_server_id>:<proxy_server_port> https://www.baidu.com为方便起见,可将代理地址暴露在环境变量而无需再发起请求时指定代理地址:
# 增加bashrc内容export http_proxy=http://<proxy_server_id>:<proxy_server_port>export https_proxy=http://<proxy_server_id>:<proxy_server_port># 请求测试curl https://wwww.baidu.com