一、
安裝編譯環境和工具
yum install gcc gcc-c++ autoconf automake -y
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
yum install patch -y
yum install git -y
yum install net-tools -y
二、
安裝Nginx和ngx_http_proxy_connect_module模塊
mkdir -p /downloads
cd /downloads
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xzvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
patch -p1 < /downloads/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch
./configure --add-module=/downloads/ngx_http_proxy_connect_module
make && make install
nginx版本和新增模塊版本的對應關系如下,不要弄錯了:
三、
修改Nginx配置文件
Nginx目錄:/usr/local/nginx/conf/nginx.conf
在空白處插入以下的代碼,8081是用來代理http請求,8082用來代理https請求
server { resolver 114.114.114.114; listen 8081; location / { proxy_pass http://$http_host$request_uri; proxy_set_header HOST $http_host; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error timeout invalid_header http_502; } } server { listen 8082; # dns resolver used by forward proxying resolver 114.114.114.114; # forward proxy for CONNECT request proxy_connect; proxy_connect_allow 443 563; 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; } }
四、開啟nginx
開啟 ./sbin/nginx
重啟 ./sbin/nginx -s reload
關閉 ./sbin/nginx -s stop
五、查看端口是否在使用
netstat -tnlp | grep 8081
netstat -tnlp | grep 8082
六、如果端口關閉,需要打開,如果開啟無效,看下服務器平台端口是否打開
firewall-cmd --zone=public --add-port=8081/tcp
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=8082/tcp
firewall-cmd --zone=public --add-port=8082/tcp --permanent
重啟刷新:
firewall-cmd --reload
七、測試
curl --proxy 你的服務器ip:8081 http://www.baidu.com
curl --proxy 你的服務器ip:8082 http://www.baidu.com
以上兩種測試方式,返回數據如下,成功!!!