linux服務器配置http和https正向代理


一、

安裝編譯環境和工具

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

以上兩種測試方式,返回數據如下,成功!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM