![使用 SSL 的 Squid 反向代理](https://rvso.com/image/782609/%E4%BD%BF%E7%94%A8%20SSL%20%E7%9A%84%20Squid%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86.png)
我正在嘗試在單一網站前使用魷魚作為反向代理,解密代理程式上的 SSL,然後加密與網路伺服器的連接(這是為了使用魷魚作為 ICAP 客戶端以實現零信任) CDR 產品)。
我可以看到這需要兩個配置行:
https_port 1.2.3.4:443 accel
用於偵聽器和
cache_peer 1.2.4.8 parent 443
用於網頁伺服器。
按照我在這裡和其他地方找到的範例,我在 Squid 中遇到了各種錯誤,特別是這個:
FATAL: No valid signing certificate configured for HTTPS_port
Squid 4.x 的已知工作配置將會非常有幫助!
答案1
顯然我找到的例子都是針對早期版本的魷魚的。
對於這個問題,我的主要收穫是配置行中的cert=
和不再正確,我們需要使用和來代替。key=
https_port
tls-cert=
tls-key=
所以(對於 Squid v4.15)我只需要網頁伺服器憑證及其私鑰,以及squid.conf中的這些行:
https_port 1.2.3.4:443 accel defaultsite=mysite.com tls-cert=/etc/squid/myserver.pem
cache_peer 1.2.4.8 parent 443 0 no-query originserver login=PASS ssl
這適用於包含憑證和未加密私鑰的 .PEM。如果密鑰位於單獨的檔案中,則這應該有效:
https_port 1.2.3.4:443 accel defaultsite=mysite.com tls-cert=/etc/squid/myserver.pem tls-key=/etc/squid/myserver.key
cache_peer 1.2.4.8 parent 443 0 no-query originserver login=PASS ssl
如果該金鑰已加密,您將需要手動啟動squid(例如在會話squid -N
中執行screen
)或新增sslpassword_program
設定行以提供PEM 密碼。
http_port 3128
注意:我發現魷魚啟動仍然需要http_port 配置行(例如)。
所有設定檔指令都記錄在此處:http://www.squid-cache.org/Doc/config/