【问题标题】:Heroku: Privacy error "Your connection is not private" is displayedHeroku:显示隐私错误“您的连接不是私密的”
【发布时间】:2016-09-02 19:55:44
【问题描述】:

当我尝试访问我注册为CNAME 的网址时,显示隐私错误Your connection is not private

我开发了 Rails 应用,这是第一次使用 Heroku。

虽然我使用https://floating-fortress-99999.herokuapp.com/等原始url时没有显示错误,但是当我使用我得到的www.my_app.com时会显示错误。

浏览器上的所有错误信息如下;

Your connection is not private

Attackers might be trying to steal your information from www.my_app.com (for example, passwords, messages, or credit cards).
NET::ERR_CERT_COMMON_NAME_INVALID

This server could not prove that it is www.my_app.com; its security certificate is from *.herokuapp.com. This may be caused by a misconfiguration or an attacker intercepting your connection.

当我在浏览器上点击链接Proceed to www.my_app.com (unsafe)时,我可以显示www.my_app.com

是否可以避免显示“隐私错误”?

如果您能告诉我如何避免此错误,我们将不胜感激。

【问题讨论】:

    标签: ruby-on-rails google-chrome ruby-on-rails-4 heroku


    【解决方案1】:

    对我来说,我只需要输入 https://sitename.herokuapp.com 而不是 heroku.com

    【讨论】:

    • 天哪,我永远不会在那里检查。谢谢
    【解决方案2】:

    对于任何可能遇到此问题的人 -

    我曾在一家使用 cisco anyconnect 的公司工作,该公司还包括 Umbrella DNS 保护。

    检查 url 的是系统范围的 (win 10) 服务,如果(无论出于何种原因)认为它很危险,它就会显示 SSL 错误。

    我刚刚卸载了该应用程序,因为我不再需要它了。

    【讨论】:

      【解决方案3】:

      您在通过新域名加载 Heroku 应用程序时收到“您的连接不是私有的”错误,因为现有的 SSL 证书对其无效。

      从错误信息中可以看出:

      此服务器无法证明它是 www.my_app.com;它的安全证书来自 *.herokuapp.com。

      仅对 *.herokuapp.com 域名有效,在这种情况下,可以是 your-app-name.herokuapp.com。当您创建新的 CNAME 并使用该域名而不是 your-app-name.herokuapp.com 时,现有的 SSL 证书无法验证它并向您显示此错误。

      要暂时绕过此 SSL 错误,您可以在 Google Chrome 地址栏中输入 chrome://flags 以访问高级设置,找到“允许从 localhost 加载的资源的无效证书”并启用此功能。通过这样做,您可以在浏览器上暂时关闭此警告(仅限)。

      永久解决此问题的解决方案是为您的域获取新的 SSL。您可以使用 Heroku 的 SSL Endpoint 附加组件将私有 SSL 与您的域名一起使用。这个附加组件每月向您收取 20 美元的费用。有关此插件的更多详细信息,请read it from herehere

      另一种选择是使用 Heroku SSL,这是 Heroku 目前提供的一项免费功能。他们似乎想用这个替换 SSL Endpoint。要了解如何使用 Heroku SSL 为您的域名安装 SSL,read this article from NameCheap.com

      来源:Fix Your Connection Is Not Private Error In Your Browser

      【讨论】:

        【解决方案4】:

        2020 年更新答案

        Heroku 现在为免费层以上的所有层提供了自动证书管理,可以非常简单地设置让 https 为您的网站工作。

        设置:

        1. 在 Heroku 中将等级升级到爱好者或以上(从 7 美元/月)
        2. 在 CLI 中运行命令heroku certs:auto:enable -a yourappname
        3. 在 CLI 中运行命令 heroku domains。您应该获得自定义域列表及其 DNS 目标列表。在运行 DNS 目标上方的命令后,您应该以 .herokudns.com 而不是 .herokuapp.com 结尾。
        4. 现在在您的 DNS(GoDaddy 或您使用的任何 DNS)中更新 DNS 以确保它指向新的 .herokudns.com 应用程序而不是通用的 .herokuapp.com

        您当然可能需要在完成这些步骤后等待一段时间才能使 DNS 更改生效。但是现在你已经把一切都设置好了! Ta Da,你有 DNS 为你工作!

        有关这些步骤的更多信息,请查看heroku's article here

        【讨论】:

        • 是否可以只打开 ACM 并继续使用默认子域,例如某事.herokuapp.com?我打开了 ACM,我有一个付费层,但浏览器仍然说我的证书无效。我有一个前端域,我想将我的后端保留在默认域上
        • 您为哪个域启用了 ACM,FE 还是 BE 域?
        • 感谢您的回复我已经解决了我的问题并将其添加为该问题的答案(请参阅stackoverflow.com/a/65613020/1869111)。我为BE域打开了ACM并且没有添加自定义域,我继续使用heroku生成的url。我以为我必须添加一个域才能使 SSL 工作,但问题出在其他地方。 ACM 使用起来真的很简单。
        【解决方案5】:

        问题是您很可能在配置中使用force_ssl = true,但是您的服务器上没有安装有效且授权的 SSL 证书。

        要修复错误,您有两种可能性:

        • 通过force_ssl = false 禁用 SSL(不推荐)
        • 购买由认证机构颁发的 SSL 证书并将其安装在您的服务器(例如 nginx 或 Apache)上

        【讨论】:

        • 感谢您的评论,@Anthony E。我明白为什么会显示此错误。顺便说一句,我发现 CloudFlare 给了我们免费的 SSL。我会试试的。
        • @SamuraiBlue 嗨,我在我的网站上遇到了同样的问题,虽然我使用的是 CloudFlare,但我也遇到了同样的问题,而且我的 ssl 证书很灵活。您是如何解决这个问题的?
        猜你喜欢
        • 2015-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-21
        • 1970-01-01
        • 2022-06-10
        • 2017-10-19
        • 1970-01-01
        相关资源
        最近更新 更多