我试图在单个网站前使用squid作为反向代理,对代理上的SSL进行解密,然后加密到for服务器的连接(这是为了将squid作为ICAP客户端用于零信任CDR产品)。
我可以看到,这需要两行配置:侦听器的https_port 1.2.3.4:443 accel
和see服务器的cache_peer 1.2.4.8 parent 443
。
按照我在这里和其他地方发现的例子,我遇到了来自Squid的各种错误,特别是这个错误:
FATAL: No valid signing certificate configured for HTTPS_port
一个已知的鱿鱼4.x的工作配置将是非常有帮助的!
发布于 2022-12-15 19:05:34
显然,我找到的例子都是用于早期版本的鱿鱼。
对于这个问题,我的主要结论是,cert=
和key=
在https_port
配置行中不再正确,我们需要使用tls-cert=
和tls-key=
。
因此(对于Squidv4.15),我只需要webserver证书及其私钥,以及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
会话中运行sslpassword_program
),或者添加一个D9
配置行来提供D9
密码。
注意:我发现http_port配置行(如http_port 3128
)仍然需要squid来启动。
所有配置文件指令都记录在这里:http://www.squid-cache.org/Doc/config/
https://serverfault.com/questions/1118138
复制相似问题