【发布时间】:2019-04-20 12:10:57
【问题描述】:
我正在尝试在本地 Mac 上设置代理服务器。
http - 似乎可以工作。
但是 Safari 没有通过 https 连接。
我错过了什么吗?
【问题讨论】:
我正在尝试在本地 Mac 上设置代理服务器。
http - 似乎可以工作。
但是 Safari 没有通过 https 连接。
我错过了什么吗?
【问题讨论】:
不,它没有。您需要指定单独的 https 端口和 ssl 证书,如 squid 配置中所述:
squid 监听客户端请求的套接字地址 通过 TLS 或 SSL 连接。通常称为 HTTPS。
这对于运行 squid 的情况最有用 加速器模式,您想在加速器上进行 TLS 工作 级别。
您可以在多行上指定多个套接字地址,每个 拥有自己的证书和/或选项。
tls-cert= 选项在 HTTPS 端口上是强制性的。
有关模式和选项的列表,请参阅 http_port。
http://www.squid-cache.org/Doc/config/https_port/
按照设计,拦截 https 流量是相当困难的:
当浏览器创建与源的直接安全连接时 服务器,没有 HTTP CONNECT 请求。第一个 HTTP 请求 在这种连接上发送的数据已经加密。在大多数情况下,鱿鱼 不在循环中:Squid 对该连接一无所知,并且 无法阻止或代理该流量。
您还需要将浏览器的代理设置加载为 PAC 文件,否则浏览器将无法连接或抛出证书警告:
Chrome Chrome 浏览器能够通过 SSL 连接到代理 如果配置为在 PAC 文件或命令行中使用一个连接 转变。 GUI 配置似乎不可能(目前)。
更多详情见 http://dev.chromium.org/developers/design-documents/secure-web-proxy
Firefox Firefox 33.0 浏览器能够通过以下方式连接到代理 TLS 连接(如果配置为在 PAC 文件中使用一个)。图形用户界面 配置似乎是不可能的(还),虽然有一个 用于嵌入 PAC 逻辑的 config hack。
还有一个重要的bug打开:
使用客户端证书对代理进行身份验证: https://bugzilla.mozilla.org/show_bug.cgi?id=209312
【讨论】: