squid正向代理訪問外網


目錄

一、前言

二、Squid安裝

三、客戶端設置

四、驗證

五、Python請求

六、寫在最后

 

一、前言

  

1)我們可能會碰到這樣的需求,客戶端Client-1需要訪問Server-1,但由於各種各樣的原因,不能直接通信。於是想到在中間找一台服務器做正向代理,客戶端Clent1通過代理服務器與服務端Server1通信。

2)我們選擇做正向代理的方式有很多,但我們這里選擇Squid,可以通過性能測試等對比多個方案選出適合自己的。

 

二、Squid的安裝

 

1、安裝

方法一、

yum install -y gcc openssl openssl-devel
yum install squid

 

方法二、

wget http://www.squid-cache.org/Versions/v4/squid-4.12.tar.gz
tar -zxvf squid-4.12.tar.gz 
cd squid-4.12/
./configure --enable-ssl --with-openssl=/usr/local/openssl
make
make install

 

注:/usr/local/openssl指的是你的openssl目錄,有的是/usr/include/openssl;如果指定不正確的話,編譯會一直報錯

 

2、修改配置文件

 

vim /usr/local/squid/etc/squid.conf  添加下面這一行允許所有訪問,配置文件的訪問策略,權限控制,緩存等后續博文更新,這里比較松的允許所有請求訪問。

http_access allow all

 

3、啟動squid

./squid

 

三、客戶端設置

我使用google瀏覽器設置squid代理,設置-->高級-->打開您的計算機代理設置;squid的默認端口為3128;

 

 

四、驗證

通過IP即可知道是不是自己設置的代理服務器。

 

 

五、Python使用代理訪問

import requests

# 使用代理獲取百度首頁
headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
}
#  定義代理的字典
proxies = {
    "https": "http://xxxxx:3128"
}
# 使用代理給服務器發送請求
response = requests.get("https://www.baidu.com", proxies=proxies, headers=headers, timeout=(3, 7))
# 獲取狀態
print(response.status_code)
print(response.content.decode())

 

六、寫在最后

在平凡中堅持前行,總有一天會遇見不一樣的自己。
 
寫博客記錄、思考、總結,趟過的坑不趟第二遍。
 

所有的文章,皆同步在公眾號“運維汪”,可關注;也可加入“不扯淡,專注於技術”的QQ群:753512236

 


免責聲明!

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



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