带有可选 SSL 的 Squid 反向代理

带有可选 SSL 的 Squid 反向代理

我正在尝试将 squid 设置为负载平衡反向代理,但在 SSL 方面遇到了一些问题。站点的一个应用程序会检查站点是否通过 SSL 加载,如果是,则其行为会有所不同,因此我需要通过 SSL 代理 SSL 连接,而不通过 SSL 代理非 SSL 连接。

目前,squid 服务器接受通过 HTTP 和 HTTPS 的连接,但它仅使通过 HTTP 连接到上游服务器。

我的 squid 配置中有趣的部分如下所示:

http_port 80 vhost vport
https_port 443 vhost vport  cert=/etc/cert.pem key=/etc/cert.key
cache_peer 10.0.0.10 parent 80 0 originserver round-robin
cache_peer 10.0.0.11 parent 80 0 originserver round-robin

有没有一种简单的方法可以告诉它通过 SSL 代理上游的 SSL 连接,同时不影响其他连接?

答案1

更新(实际上我已经用我的鱿鱼尝试过了……):

acl is_ssl port 443
https_port 443 cert=<yourcert> key=<yourkey> accel name=site_ssl defaultsite=<y\
our_external_site>
cache_peer <your_internal_ssl> parent 443 0 no-query originserver ssl sslflags=\
DONT_VERIFY_PEER name=site_ssl
cache_peer_access site_ssl allow is_ssl
cache_peer_access site_ssl deny !is_ssl

acl nonssl port 80
http_port 80 accel defaultsite=<your_external_site>  name=site_nonssl
cache_peer <your_internal_nonssl> parent 80 0 no-query name=site_nonssl origins\
erver
cache_peer_access site_nonssl allow nonssl
cache_peer_access site_nonssl deny !is_nonssl

原始答案如下:

你想要类似的东西

cache_peer 10.0.0.11 parent 443 0 no-query originserver ssl sslflags=DONT_VERIFY_PEER name=site_ssl
acl sites_server_3 dstdomain site_ssl
cache_peer_access site_ssl allow ssl_servers
http_access allow ssl_servers

相关内容