Site icon Mr. 沙先生

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

這篇談到的是正向 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 來開放允許訪問的位置

這幾個參數關係到可以連接 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

 

 

Exit mobile version