TinyProxy,輕量級的 HTTP(S) Proxy 適合用於小規模網路環境

2017-05-02 Software, Ubuntu

這篇談到的是正向 Proxy,用於正向 Proxy 常用的就是 squid,squid 無庸置疑的是一個功能非常強大的 Proxy,功能齊全,不過對於管理者來說,如果你想要使用的功能沒有那麼複雜,只是單純想做 Proxy,那 squid 不但無法發揮他強大的功能以外,還有可能造成許多漏洞。

 

Tinyproxy 是一個輕量級的 Proxy,專用於 HTTP、HTTPS 代理,他的優點在於快而小,而且簡單,非常適合用於小規模的網路環境使用。

 

Ubuntu 16.04 安裝 Tinyproxy

使用前查看官方 Documentation

 

Step 1. 用 apt 安裝 tinyproxy

$ sudo DEBIAN_FRONTEND=noninteractive apt-get -y install tinyproxy

 

Step 2. 設定 tinyproxy.conf

$ sudo tee /etc/tinyproxy.conf <<EOF
#
Allow 192.168.0.0/24
Allow 127.0.0.0/8
ConnectPort 443
DefaultErrorFile "/usr/share/tinyproxy/default.html"
FilterDefaultDeny Yes
Filter "/etc/tinyproxy.d/trust-domain"
FilterExtended On
Group nogroup
Logfile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
MaxClients 32
MaxRequestsPerChild 0
MaxSpareServers 128
MinSpareServers 32
PidFile "/var/run/tinyproxy/tinyproxy.pid"
Port 3128
StartServers 32
StatFile "/usr/share/tinyproxy/stats.html"
Timeout 600
User nobody
ViaProxyName "tinyproxy"
EOF

上面的設定是採用 “白名單(FilterDefaultDeny)” 的方式來開放,然後透過 Filter 來開放允許訪問的位置

  • MaxClients 32
  • MaxRequestsPerChild 0
  • MaxSpareServers 128
  • MinSpareServers 32

這幾個參數關係到可以連接 Tinyproxy 的 process

 

Step 3. 設定 trust 的 domain

$ sudo tee /etc/tinyproxy.d/trust-domain <<EOF
\.google\.com$
^shazi\.info$
EOF

 

Step 4. 啟動 Tinyproxy

$ sudo systemctl enable tinyproxy
$ sudo systemctl start tinyproxy

 

啟動服務後就會 Listen 3128 port

 

Client 可以透過 export http_proxy、export https_proxy 來通過 proxy 訪問外部網路

$ export http_proxy=http://proxy.com:3128
$ export https_proxy=http://proxy.com:3128

 

 

2 Replies to “TinyProxy,輕量級的 HTTP(S) Proxy 適合用於小規模網路環境”

  1. gslin表示:

    sudo export 應該不會動…

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱