如何调试 ERR_PROXY_CERTIFICATE_INVALID?

如何调试 ERR_PROXY_CERTIFICATE_INVALID?

我正在尝试加密 Chrome 与 Squid 转发代理之间的通信。我提供了一个自签名证书,但显然它有问题,因为 Chrome 失败并出现 ERR_PROXY_CERTIFICATE_INVALID。

是的,我已经将自签名证书安装到其中Trusted Root Certification Authorities

有没有办法从 Chrome 获得关于它不喜欢该证书的哪些方面的提示?

答案1

我最终提交了一份错误报告对于这个问题,他们的建议是:

  1. 禁用 chrome 中的代理配置
  2. 像访问网页一样访问代理服务器
  3. 将显示常规错误对话框,允许您调试证书错误。

例如,如果你的代理正在监听 1234 端口上的 proxy.com,那么你应该点击https://proxy.com:1234/在 Chrome 中无需使用代理。

其次,我最终弄清楚了我的特定证书的问题。我的代理服务器没有公共主机名,只有公共 IP 地址。

我正在像这样生成证书:

openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes -keyout server.key -out server.crt -subj /CN=<ip> -addext subjectAltName=DNS:<hostname>,IP:<ip>

对于主机名的一些错误猜测是哪里<hostname>出了问题。

事实证明,如果 Chrome 通过 IP 地址(而不是主机名)引用代理服务器,则必须省略DNSSSL 证书中的条目。以下命令行对我有用:

openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes -keyout server.key -out server.crt -subj /CN=<ip> -addext subjectAltName=IP:<ip>

答案2

这里有一个关于在 Google Chrome 中使用安全代理的类似帖子,你可以看看:在 Google Chrome 中使用安全代理

相关内容