【问题标题】:Heroku SSL issueHeroku SSL 问题
【发布时间】:2016-08-13 04:47:28
【问题描述】:

我想知道这是我们的问题还是 Heroku 的问题。我安装了 SSL 插件(每月 20 美元)并通过我的大学 IT 部门获得了 SSL 证书(更改了一些细节的名称,但你明白了)。我按照此处列出的步骤操作: https://devcenter.heroku.com/articles/ssl-endpoint

我在 chrome 中收到一条错误消息,提示“您的连接不是私有的”NET::ERR_CERT_COMMON_NAME_INVALID。然后它还说这个服务器无法证明它是mydomain.edu;它的安全证书来自 *.herokuapp.com。这可能是由于配置错误或攻击者拦截了您的连接造成的。

我检查了我的 CSR,它的 CN 是 mydomain.edu,我检查了来自我学校 IT 的电子邮件,电子邮件是 mydomain.edu。

当我检查 heroku certs 命令时,我得到以下信息:

$ heroku certs
Endpoint                   Common Name(s)              Expires               Trusted
-------------------------  --------------------------  --------------------  -------
tokyo-13550.herokussl.com  mydomain.edu                2019-04-14 23:59 UTC  True

我看到的唯一问题是 CNAME 记录。我相信添加 SSL 时端点发生了变化:

$ heroku certs:add cert.cer private.key --app myapp
Resolving trust chain... done
Adding SSL Endpoint to myapp... done
myapp now served by tokyo-13550.herokussl.com
Certificate details:
Common Name(s): mydomain.edu
Expires At:     2019-04-14 23:59 UTC
Issuer:         /C=US/ST=MI/L=Ann Arbor/O=Internet2/OU=InCommon/CN=InCommon RSA Server CA
Starts At:      2016-04-14 00:00 UTC
Subject:        /C=US/postalCode=myzip/ST=mystate/L=mycity/street=myaddress/O=myorginization/OU=Certificate Management/CN=mydomain.edu
SSL certificate is verified by a root authority.

我最初在没有 SSL 的情况下运行应用程序,我们使用此端点设置了 CNAME 记录:

us-east-1-a.route.herokuapp.com 

我相信,如果我们将 CNAME 记录从美国更新到东京,那么 SSL 问题将得到解决,我的 IT 部门认为我安装了错误的证书,或者它使用的是旧证书,因为它说 *.herokuapp。 com 而不是引用 mydomain.edu。

【问题讨论】:

    标签: ruby-on-rails ssl heroku https


    【解决方案1】:

    如果其他人遇到类似情况,则需要更新 CNAME。与我一起工作的 IT 人员尝试在他的 /etc/hosts 文件中硬编码新的 CNAME,并获得了正确的 SSL 证书

    【讨论】:

      【解决方案2】:

      Heroku 关于测功机、可扩展性和高可用性的决定直接影响您如何配置和操作您的服务。当涉及 SSL 和 HTTPS 时,这些决定具有特别的影响。

      首先,如果您确实获得了 mydomain.edu 的证书而没有子域,您应该阅读 this reference 以配置根域,并咨询您的大学工作人员是否支持此操作。 (我希望他们不会。)此建议的其余部分将假定您正在尝试保护子域。

      您收到的错误表明 CNAME 尚未更新。 herokuapp.com 的所有应用程序都使用由 Heroku 拥有、管理和配置的 SSL 证书,供其客户使用。检查 CNAME 记录应该足以表明有问题的域正在委派到 SSL 配置的这个“公共”层。

      您应该特别参考的文档是here。当您在 Heroku 提供付费 SSL 端点服务时,它会改变您的应用程序的运行时环境,使其不再由为公共层提供支持的同一网络提供服务。因此,您确实会收到一个新的 CNAME 域来提供 SSL 服务。您可以向您的 IT 人员解释,该过程会将您的应用程序放在新机器上。

      由于您省略了相关域名,我们无法验证您是否已正确安装证书,但您似乎已按照文档操作。

      【讨论】:

      • 感谢 Jim 的回复,mydomain 是一个子域,更改 CNAME 记录解决了所有问题
      猜你喜欢
      • 2019-08-15
      • 1970-01-01
      • 2020-06-26
      • 1970-01-01
      • 1970-01-01
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多