1. Home
  2. /
  3. Web technology
  4. /
  5. Linux
  6. /
  7. [ Linux ] –...

[ Linux ] – Squid Proxy setting / Squid 正向代理設定

評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]

這個需求是始於工作上的需要,因為我們服務的客戶散佈在世界各地,當主機超過負荷時;主機需要有橫向擴展的功能,因為安全需要所以客戶端需要設定我方某台API主機的IP為白名單, 才能正常的回呼客戶端API。簡單來說對外的主機只能用一台該台主機就拿來安裝 Squid 當 正向代理 的功能機。

安裝 Squid

指令:

sudo apt install squid

設定 Squid

怕設定錯誤先備份一下設定檔

指令:

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bk

開始設定 squid.conf

指令:

sudo nano /etc/squid/squid.conf

找到 acl CONNECT method CONNECT

#限定某個網段才允許使用Proxy
acl our_networks src 172.2.0.0/16
http_access allow our_networks
#Proxy 監聽的port  預設為 3128 可改可不改
http_port 3128

假設裝設Squid 的主機IP為:172.2.3.11

Proxy 端驗證

指令:

tail -f /var/log/squid/access.log

其它要使用Proxy的主機 172.2.3.22

在客戶端主機 172.2.3.22 使用curl 測試 proxy

指令:

curl -x http://172.2.3.11:3128 -L https://www.webteach.tw

然後在 https://www.webteach.tw 那台主機確認來訪的IP為Proxy的IP

指令:

tail -f /var/log/apache2/access.log

由於讓客戶回呼是使用curl 所以要幫curl設定proxy

在客戶端主機 172.2.3.22修改環境變數

export http_proxy=http://172.2.3.11:3128/
export https_proxy=$http_proxy

設定好就可以直接使用 curl 就不用加 -x 參數

curl -L https://www.webteach.tw

2021-01-14 更新

swoole client 端 proxy 設定

$Client->set(
	array(
	    'http_proxy_host' => '172.31.2.16',
	    'http_proxy_port' => 3110)
);

參考網址:
https://www.ichiayi.com/wiki/tech/squid
https://www.cyberciti.biz/faq/linux-unix-curl-command-with-proxy-username-password-http-options/
https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-configure-proxy-on-ubuntu-18-04/
https://blog.longwin.com.tw/2014/04/curl-cli-use-proxy-2014/
https://wiki.swoole.com/#/client?id=http_proxy
https://tech.yj777.cn/swoole-websocket-behind-apache-mod_ssl-proxy/

評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *