CentOS 7 搭建 TinyProxy 代理

 

Tinyproxy是一個輕量級的用於POSIX操做系統的http/https代理守護進程。在設計之初就遵循着更快而且更小的原則。在相關的運用案例中,它是一種理想的解決方案,例如在一個須要所有HTTP代理特性的嵌入式部署的案例中。然而,對於須要更大的代理案例來講,它是不可用的。linux

Tinyproxy自己是小巧的,幾乎不須要佔用系統資源。安裝後,內存佔用一般在2M左右,CPU負載隨同步鏈接的數量線性增長(取決於鏈接的速度)。所以,Tinyproxy能夠在一臺舊機器上運行,也能夠在網絡設備上運行,好比基於linux的寬帶路由器,而不會對性能產生任何明顯的影響。vim

安裝環境:阿里雲CentOS7 香港服務器瀏覽器

1. 安裝 TinyProxy安全

在Red Hat Enterprise Linux或其衍生產品(如CentOS)上,能夠經過運行yum install tinyproxy從EPEL存儲庫安裝Tinyproxy。服務器

yum -y install tinyproxy
 

2. 配置 TinyProxy網絡

vim /etc/tinyproxy/tinyproxy.conf
 

修改 Port 端口,默認爲 8888curl

Port 12801tcp

註釋掉 Allow,表示容許全部人訪問代理ide

#Allow 127.0.0.1性能

隱藏掉Via請求頭部,去掉下面的註釋

DisableViaHeader Yes

更多配置項,下面是列舉一些配置文件默認的,不須要配置:

PidFile "/var/run/tinyproxy/tinyproxy.pid"

LogFile "/var/log/tinyproxy/tinyproxy.log"

LogLevel Info

MaxClients 100

MinSpareServers 5

MaxSpareServers 20

StartServers 10

3. 啓動 TinyProxy

systemctl start tinyproxy.service
 

更多命令以下:

 
  1.  
    systemctlrestarttinyproxy.service
  2.  
     
  3.  
    systemctlstoptinyproxy.service
  4.  
     
  5.  
    systemctlstatustinyproxy.service
  6.  
     
  7.  
    systemctlenabletinyproxy.service
 

4. 關閉防火牆或開放端口訪問

方式1:關閉防火牆

/etc/init.d/iptables stop
 

方式2:開放端口訪問

iptables -A INPUT -p tcp --dport 12801 -j ACCEPT
 

重啓防火牆

/etc/init.d/iptables restart
 

注意:若採用的阿里雲、騰訊雲、AWS等雲服務器,記得要在安全策略裏開放端口號

5. 驗證生效

1)命令行測試驗證(服務器本地測試)

使用TinyProxy拉取google.com的頁面信息:

curl -x 127.0.0.1:12801 google.com
 

能夠看到成功拉取了谷歌的頁面信息,說明咱們的配置是成功。

2)Firefox測試(本機測試)

打開火狐瀏覽器,選擇:選項-網絡代理-設置,進入配置界面,根據下圖進行配置:

配置完成後,咱們使用百度搜索IP,搜索結果以下:

IP地址是咱們服務器的地址,說明代理正常訪問。然而,若是咱們訪問谷歌,會獲得以下頁面:

 

咱們沒法訪問谷歌,不但如此,其餘相似的網站咱們也是沒法訪問的。這是爲何?首先,咱們看下面的圖,當咱們想要訪問外網的時候,這個請求數據包必然會通過防火牆的檢查:

如今咱們使用代理,可是依然須要通過防火牆的檢查:

因爲客戶端與TinyProxy之間的請求數據是沒有加密的,因此咱們沒法經過檢查。

有人可能疑問,HTTPS是加密的請求,那麼爲何不能繞過防火牆呢?

這是由於客戶端在進行加密通訊之前,須要進行鏈接握手。在鏈接握手時,身份認證證書信息(即服務器的公鑰)是明文傳輸的,牆此時就會阻斷特定證書的加密鏈接。

 

 

Tinyproxy是一個輕量級的用於POSIX操做系統的http/https代理守護進程。在設計之初就遵循着更快而且更小的原則。在相關的運用案例中,它是一種理想的解決方案,例如在一個須要所有HTTP代理特性的嵌入式部署的案例中。然而,對於須要更大的代理案例來講,它是不可用的。

相關文章
相關標籤/搜索