Squid
(1) 安裝 Squid
sudo apt-get update sudo apt-get install squid |
(2) 編輯 conf
nano /etc/squid/squid.conf |
cache_dir ufs /var/spool/squid 1000 16 256 … # 轉送請求到內部的 Web 伺服器,這是為了連線 Proxy 時,還能連線到測試主機 acl local_webservers dstdomain laravel.local wordpress.local phpmyadmin.local opcache.local http_port 3128 accel defaultsite=wordpress.local cache_peer 192.168.1.244 parent 80 0 no-query originserver
# Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed
acl allowed_network src 192.168.1.0/24 http_access allow localhost http_access allow allowed_network http_access allow all
# And finally deny all other access to this proxy #http_access deny all
# 禁止IP位址為 192.168.1.100 的用戶使用 #acl test src 192.168.0.100 //定義來源IP,test 可以自行定義,代表定義端IP #http_access deny test //拒絕 test 後面定義端來源IP
# 禁止使用者前往網域包含有 163.com 的網站 #acl test url_regex -i 163.com //使用正規表示式來匹配URL位址 #http_access deny test
# 只允許 192.168.1.100 用戶在這個時間使用 #acl work_hours src 192.168.1.100 #acl work_hours time MTWHF 8:30-18:30 #http_access deny !work_hours |
(3) 啟動 Squid
sudo systemctl start squid |
開機時啟動
sudo systemctl enable squid |
確認啟動
sudo systemctl status squid |
(4) 新增 3128 防火牆規則
sudo ufw status sudo ufw allow 3128 |
(5) 可用網頁連線看看,是否有
tail -f /var/log/squid/access.log |
(6) 查看目前 cache 的大小
延伸閱讀
設定 Squid 為 transparent mode(透明模式)是一種特殊的配置,它允許 Squid 在背後進行代理而不需要在客戶端明確設置代理。這意味著客戶端不需要配置特定的代理設置,而所有的流量都會自動被導向到 Squid,然後由 Squid 進行相應的處理。
留言