ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 概述 **作用** 使用 CONNECT 的方式 进行代理,可以动态的指定目标代理的地址 ``` CONNECT 192.168.0.103:6667 HTTP/1.1 Host: 192.168.0.103:6667 HTTP/1.1 200 Connection establisehd ``` 请求 CONNECT 方法,返回 200 code **使用场景** 根据客户端向指定的服务器代理发送文件内容,即可在HOST 中指定代理的目标地址 ## 实现方式 ### 使用 goproxy [github](https://github.com/snail007/goproxy/blob/master/README_ZH.md) 执行 ``` proxy http -p :6670 ``` ### nginx [ngx_http_proxy_connect_module github 地址](https://github.com/chobits/ngx_http_proxy_connect_module#name) nginx 要支持 CONNECT 代理,需要添加第三方模块 ``` ./configure \ --user=www \ --group=www \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_realip_module \ --with-threads \ --add-module=/root/src/ngx_http_proxy_connect_module ``` 配置 vhost 文件 ``` server { listen 443; # dns resolver used by forward proxying resolver 114.114.114.114; # forward proxy for CONNECT request proxy_connect; proxy_connect_allow 443; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_connect_send_timeout 10s; # forward proxy for non-CONNECT request location / { proxy_pass http://$host; proxy_set_header Host $host; } } ```