ssl - 您如何使用 Namecheap 和 Heroku 强制使用 HTTPS?

标签 ssl heroku hosting namecheap

我正在使用 Heroku 和 Namecheap 设置 SSL。

在 Heroku 上,我目前拥有以下域:

Domain Name - DNS Target
www.app.domain.io - www.app.domain.io.herokudns.com
www.domain.io - www.domain.io.herokudns.com

在 NameCheap 上我有:

Type - Host - Value
CNAME Record - app - www.app.domain.io.herokudns.com
CNAME Record - www- www.domain.io.herokudns.com
URL Redirect Record - @ - https://www.domain.io
CNAME Record - www - https://www.domain.io

什么有效:

www.domain.io works fine and does not redirect to include https
domain.io just fails to reach a site
https://www.domain.io works great!
https://domain.io fails to reach a site.
http://www.app.domain.io/ fails to reach a site.
https://www.app.domain.io/ fails to reach a site.
http://app.domain.io/ reached the heroku nothing there yet page.

理想情况下,所有页面都应始终重定向以包含 https 和 www。知道我做错了什么吗?

最佳答案

我解决了这个问题。我添加了重定向记录,这样如果输入的 url 有或没有 www 以及有或没有 https,它将被重定向以包括 https 和 www。这需要对域进行 4 次重定向。

此外,app.domain.io url 没有内容,因为我还没有在那里设置一些东西。我计划稍后将 app.domain.io 用于新的 heroku 应用程序。

请记住等待足够长的时间并尝试清除缓存以查看问题是否已解决。

编辑

在我的域设置下 Redirect Domain

Source Url       Destination Url
domain.xyz       https://www.domain.xyz/
www.domain.xyz   https://www.domain.xyz/

以上确保始终使用 https。

在我的域中 advanced DNS Host Records 下的设置

Type                   Host    Value                      TTL
CNAME Record           www     <link from heroku>         30 min
URL Redirect Record    @       https://www.domain.xyz/    unmasked
URL Redirect Record    www     https://www.domain.xyz/      unmasked

这是您需要在 namecheap 上使用 heroku 应用程序执行的操作。在 heroku 方面还有更多工作要做。

在 Heroku 的应用程序设置下有一个 Domains and certificates部分。 您可以在那里添加您的域。这将创建一个 DNS Target这就是你在 <link from heroku> 中输入的内容从上面挡住。 Heroku 还允许您使用 LetsEncrypt,它们会自动刷新您的 SSL 证书。

记得在更改之间等待一段时间。 DNS 更改最长可能需要 24 小时才能应用。

关于ssl - 您如何使用 Namecheap 和 Heroku 强制使用 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46923055/

相关文章:

node.js - 找不到 socket.io.js 的路径

wordpress - 如何在 Apache 中为 Wordpress Bitnami Amazon-Ligthsail 实例禁用 TLS 1.0 和 1.1 以仅启用 TLS 1.2 和 TLS 1.3?

ruby-on-rails - 我怎样才能在 heroku 上使用 firefox

mysql - 无法使用 Node.js 连接 Heroku 上的 ClearDB MySQL

c - 保护 Linux 托管服务器上的网站文件

java - 无法使用 Vert.x 通过 TLS 连接到主机

Android 异步 http - java.security.cert.CertPathValidatorException : Trust anchor for certification path not found

ruby-on-rails - Heroku "We' 很抱歉,但在 Postgres 迁移后出了点问题

azure - 我应该如何为我的项目托管服务器?

web - 任何支持直接下载的文件托管站点?