用squid做http/https正向代理


0、環境准備

VM1(server):nat-192.168.12.128  bridge-192.168.124.128

VM2(client):bridge-192.168.124.129

在VMware WS軟件中,bridge網絡是無法訪問公網的,也無法執行DNS查詢。

1、安裝 Squid

yum install squid -y

2、配置 Squid

echo "1" >/proc/sys/net/ipv4/ip_forward #打開內核轉發,在CentOS7中已經打開,無需設置。
vi /etc/squid/squid.conf

找到下圖位置,將 deny 修改為 allow:

配置完成以后,使用requests進行測試。

In [9]: import requests

In [10]: ss = requests.session()

In [11]: ss.proxies = {'http': 'http://192.168.124.128:3128', 'https':'http://192.168.124.128:3128'}

In [12]: ss.get('http://www.qq.com')
Out[12]: <Response [200]>

In [13]: ss.get('https://www.github.com')
Out[13]: <Response [200]>

或者

wget -e "http_proxy=http://192.168.124.128:3128" http://www.qq.com

wget -e "https_proxy=http://192.168.124.128:3128" https://github.com

3、總結

1. 為什么不使用nginx?
nginx不支持http/https正向代理

2. squid client的DNS查詢是由誰完成的?
根據實驗結果,DNS查詢也是由squid server完成的,因此server需要配置DNS解析服務器;或者在squid.conf中配置dns_nameservers指定dns地址。

3. squid服務的安全建議
本例中的情況,建議squid服務器部署在防火牆后。

4. 參考鏈接
https://www.zybuluo.com/delight/note/2649
http://www.squid-cache.org/Doc/config/dns_nameservers/

 


免責聲明!

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



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