squid 正向代理 簡單配置


linux 正向同步

項目上web服務器不給訪問外網,遷移服務器環境又太麻煩,決定給web服務器做正向代理,剛開始使用nginx,但是https代理一直不成功,后面大佬建議使用squid來達到相同目的,在不考慮安全和性能等其他問題下使用squid正式太簡單了,下面進去正文

這里先貼出nginx代理,http沒問題,但https不成功,如果有成功的希望留下幾句指導一下,哈哈,謝謝

server {  
    resolver 114.114.114.114;      
    listen 10002;  
    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 {  
    resolver 114.114.114.114;
    listen 10001;  
    location / {  
       proxy_pass https://$host$request_uri;
             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;
    }  
} 

curl https://bizapi.jd.com/api/area/getProvince    # 在另外機器上面測試成功

需要注意上面訪問https時只能使用http,但是http代理成功了,https未成功

配置squid代理

1.安裝squid

yum -y install squid    //centos環境

2.修改內核參數,打開ip轉發

vim /etc/sysctl.conf    # 修改0為1 :# net.ipv4.ip_forward = 1
sysctl -p    # 使內核參數修改生效

3.簡答修改squid配置文件

vim /etc/squid/squid.conf 
# 將后面的http_access deny all 修改為 :# allow
# 將http_port修改為自己指定的代理端口:10001

4.啟動squid

service start squid

5.測試代理

curl --proxy 192.168.6.166:10001 https://www.baidu.com

6.配置全局代理 vim /etc/profile

export http_proxy=http://192.168.99.99:10001
export https_proxy=http://192.168.99.99:10001

7.再次測試

curl --proxy 192.168.6.166:10001 https://www.baidu.com    #成功

為jvm參數設置http/https代理

上面我們只是設置了服務器的http代理,程序並不能使用,還需要設置jvm參數,不然java程序是使用不了服務器的全局http代理的,你可以修改java代碼設置http代理,也可以添加jvm參數,這里選擇修改jvm比較方便

#修改Tomact的startup.sh或者catalina.sh腳本,添加如下
# ----- Execute The Requested Command -----------------------------------------
#add jmx
export CATALINA_OPTS="$CATALINA_OPTS -Dhttp.proxySet=true"
export CATALINA_OPTS="$CATALINA_OPTS -Dhttps.proxyHost=192.168.6.166"
export CATALINA_OPTS="$CATALINA_OPTS -Dhttps.proxyPort=10001"

#注意:這里我只配置了https,你也可以添加http和不代理的
-Dhttp.proxySet=true
-Dhttp.proxyHost=proxy.xyz.com
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxy.xyz.com
-Dhttps.proxyPort=8080
-Dhttp.nonProxyHosts=*.xyz.com
-Dhttps.nonProxyHosts=*.xyz.com

至此,squid代理web服務器訪問外網成功!


免責聲明!

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



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