你的 Apache 代理监听 3128 端口。客户端能成功连上它,但 8443 端口上的 HTTPS 服务却失败了。更改代理的监听端口不太可能解决这一区别。

客户端首先连接代理监听器。它的 CONNECT 请求 随后会指明另一个目标主机和端口。Apache 可以接受第一个连接,却拒绝第二个操作。

把 AllowCONNECT 理解为目标策略

对于 Apache 2.4, mod_proxy_connect 负责处理传入的 CONNECT 请求。它的 AllowCONNECT 指令控制这些请求可用的目标端口。文档记载的默认值为 443 和 563。

AllowCONNECT 443 8443

这个示例只选择这两个目标端口。它会替换默认选择;它不会在悄悄保留所有默认端口的同时加入 8443。请在适用的服务器或虚拟主机配置中使用该指令。

保留 代理的客户端授权规则 不变。允许某个目标端口,并不说明哪些客户端可以使用该服务,在需要限制目标主机时它也不能替代这种限制。

反向代理示例回答的是另一个问题

关于 Apache 和 HTTPS 的搜索结果常常展示一个公共网站向固定后端转发。那种配置并不是浏览器请求正向代理向选定网站打开 CONNECT 隧道的方式。照搬它的路由指令可能让原来的代理问题原封不动。

诊断失败时,记录客户端到达的监听器、它请求的 CONNECT 权威地址以及代理的回复。如果 CONNECT 成功而之后 TLS 失败,那么目标端口许可已经完成了它的部分。接下来应继续排查 TLS 失败 而不是反复放宽 AllowCONNECT。

相关文章