http - 有没有办法在不购买 SSL 证书的情况下绕过 ERR_INSECURE_RESPONSE?

标签 http ssl https

所以我是两个站点的开发人员:domainA.com 和 domainB.com。 domainA.com 正在使用以下 javascript 链接从 domainB.com 中提取电子邮件提要:

<script type="text/javascript" src="http://emailfeed.domainB.com/blah">

这工作正常,但我最近不得不为 domainA.com 购买并安装 SSL 证书。这样做之后,我在使用 http 引用几个 api 时遇到了一些错误,我通过将它们的链接更改为 https 快速修复了这些错误。但是,当我尝试将上述链接更改为 https 时,我得到了

GET https://emailfeed.domainB.com/blah net::ERR_INSECURE_RESPONSE

我马上就知道是因为 domainB.com 没有 SSL 证书。似乎我无法从 https 站点访问任何 http 资源。我明白为什么要这样设置,但它似乎也非常不方便,因为我控制着这两个站点,所以我知道它们都是安全的。

所以我的问题是,有没有办法在不为 domainB.com 购买 SSL 证书的情况下解决这个问题?

最佳答案

... since I control both sites so I know both are secure

SSL/TLS 不保护网站的安全,您也不能对使用 SSL/TLS 的网站的安全性做出任何假设。 SSL/TLS 仅保护客户端和服务器之间的数据传输。这种传输可能会在不攻击服务器或客户端的情况下受到攻击,即使您完全控制了服务器,您通常也无法完全控制客户端和服务器之间的网络路径。

GET https://emailfeed.domainB.com/blah net::ERR_INSECURE_RESPONSE

这意味着客户端无法验证它是否与正确的服务器对话,即它也可能是错误的服务器或中间人。同样,这不会对服务器本身的安全性做出任何假设。

So my question is, is there a way around this issue without buying an SSL certificate for domainB.com?

如果您只有几个客户端,并且所有这些客户端都在您的控制之下,您可以让这些客户端接受站点的特定自签名证书。如果您有更多客户或您无法控制的客户,则需要一个在不添加明确异常(exception)的情况下获得客户信任的证书。此类证书由客户端信任的 CA 签名。您可以从各种 CA 获得此类证书,并且根据证书的种类和您期望从 CA 获得的服务,它们可能需要付费,甚至可能是免费的,例如 Let's Encrypt。 .

关于http - 有没有办法在不购买 SSL 证书的情况下绕过 ERR_INSECURE_RESPONSE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40955270/

相关文章:

python - 使用 Python 的请求登录 FT.com

http - 眩晕 229 无法在 Windows 8 上运行

ssl - Hyperledger Fabric Java SDK 使用 GRPCS 进行对等节点和排序节点连接

java - 如何在 apache HttpClient 上设置 TLS 版本

html - 通过 HTTPS 加载 Google 字体仍然会出现 MixedContent 错误

ssl - 托管在 HTTPS 站点上的 SSRS 报告查看器页面,无需 SSL 即可访问 SSRS 报告服务器

https - 如何在nodejs中转发HTTPS流量?

javascript - 使用 Cowboy 作为 Express JS 的 HTTP 网络服务器

http - 具有无效上下文的已知 HTTP header

java - 我什么时候得到 javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException: No trusted certificate found