如何将我的域名的 http 更改为 https?
How to change the http into https for my domain name?
我最近在 OVH 为我在 Heroku 上托管的应用购买了一个域名。然后我支付了 dynos 费用以设置自动 SSL 证书。
在我看来一切正常:
Domain Status Last Updated
─────────── ─────────── ────────────
mpjrigot.eu Cert issued 2 minutes
mpjrigot.fr Cert issued 2 minutes
但我的 URL 仍在 HTTP 中。我错过了什么?
编辑
我正在为这个应用程序使用 React.js
我在 Rails 背面也有一个 Ruby,但为了名义,我将其保留在 heroku.app 上,效果很好
第二次编辑
使用 react-https-redirect、force-https 或 react-ssl-redirect...
基本上,chrome 告诉我“这不是一个安全的 space”,这是一个可能想要窃取用户密码和东西的假 https
所以我在我的 HerokuApp 上设置了一个 SSL,
我在 OVH 上有一个域指向应用程序的 IP
但是 http 不安全
我真的认为我错过了一些明显的东西,因为我是新手...
What am I missing?
Heroku 提供证书,因此您应该能够使用 https://
访问您的应用程序。然而 it does not redirect HTTP requests to HTTPS for you:
Redirects need to be performed at the application level as the Heroku router does not provide this functionality. You should code the redirect logic into your application.
具体如何操作取决于您使用的语言和库或框架。我在上面提供的 link 中列出了几个常见的示例。
如果您编辑问题以告诉我们您使用了哪些技术来构建您的应用程序,我很乐意将这些详细信息添加到此答案中。如果您使用的是 Scala,请参阅
您可以使用以下方法将 HTTPS 添加到您的应用程序。
方法一(推荐)
由于您使用 rails 作为后端,您可以将 rails 应用配置为始终使用 HTTPS。
在你的production.rb中添加
config.force_ssl = true
- 更多信息:https://help.heroku.com/J2R1S4T8/can-heroku-force-an-application-to-use-ssl-tls
- ActionDispatch SSL:https://api.rubyonrails.org/v6.1.4/classes/ActionDispatch/SSL.html
方法 2(简易设置)
您还可以注册 cloudflare 的免费计划,并使用 cloudflare 的 'Always Use HTTPS' 或 'Automatic HTTPS Rewrites' 功能轻松设置 https 重定向。
'Always Use HTTPS' 功能会将您网站上的所有 http 请求重定向到 https 地址。
'Automatic HTTP Rewrites' 功能会将您网站上的 HTTP 链接更改为 HTTPS 链接。
更多信息在这里:
- 始终使用 HTTPS:https://blog.cloudflare.com/how-to-make-your-site-https-only
- 自动 HTTPS:https://www.cloudflare.com/website-optimization/automatic-https-rewrite/
- Cloudflare 的 SSL:https://www.cloudflare.com/ssl/
cloudflare dashboard
解决方案
我最终了解到 Heroku 需要一个特定的主机来接收他们告诉您在设置域名时指向的地址...
所以我为我的域名切换到 Gandi 并将 ALIAS 设置为指向所述地址
很有魅力
我最近在 OVH 为我在 Heroku 上托管的应用购买了一个域名。然后我支付了 dynos 费用以设置自动 SSL 证书。
在我看来一切正常:
Domain Status Last Updated
─────────── ─────────── ────────────
mpjrigot.eu Cert issued 2 minutes
mpjrigot.fr Cert issued 2 minutes
但我的 URL 仍在 HTTP 中。我错过了什么?
编辑
我正在为这个应用程序使用 React.js
我在 Rails 背面也有一个 Ruby,但为了名义,我将其保留在 heroku.app 上,效果很好
第二次编辑
使用 react-https-redirect、force-https 或 react-ssl-redirect...
基本上,chrome 告诉我“这不是一个安全的 space”,这是一个可能想要窃取用户密码和东西的假 https
所以我在我的 HerokuApp 上设置了一个 SSL, 我在 OVH 上有一个域指向应用程序的 IP
但是 http 不安全
我真的认为我错过了一些明显的东西,因为我是新手...
What am I missing?
Heroku 提供证书,因此您应该能够使用 https://
访问您的应用程序。然而 it does not redirect HTTP requests to HTTPS for you:
Redirects need to be performed at the application level as the Heroku router does not provide this functionality. You should code the redirect logic into your application.
具体如何操作取决于您使用的语言和库或框架。我在上面提供的 link 中列出了几个常见的示例。
如果您编辑问题以告诉我们您使用了哪些技术来构建您的应用程序,我很乐意将这些详细信息添加到此答案中。如果您使用的是 Scala,请参阅
您可以使用以下方法将 HTTPS 添加到您的应用程序。
方法一(推荐)
由于您使用 rails 作为后端,您可以将 rails 应用配置为始终使用 HTTPS。
在你的production.rb中添加
config.force_ssl = true
- 更多信息:https://help.heroku.com/J2R1S4T8/can-heroku-force-an-application-to-use-ssl-tls
- ActionDispatch SSL:https://api.rubyonrails.org/v6.1.4/classes/ActionDispatch/SSL.html
方法 2(简易设置)
您还可以注册 cloudflare 的免费计划,并使用 cloudflare 的 'Always Use HTTPS' 或 'Automatic HTTPS Rewrites' 功能轻松设置 https 重定向。
'Always Use HTTPS' 功能会将您网站上的所有 http 请求重定向到 https 地址。
'Automatic HTTP Rewrites' 功能会将您网站上的 HTTP 链接更改为 HTTPS 链接。
更多信息在这里:
- 始终使用 HTTPS:https://blog.cloudflare.com/how-to-make-your-site-https-only
- 自动 HTTPS:https://www.cloudflare.com/website-optimization/automatic-https-rewrite/
- Cloudflare 的 SSL:https://www.cloudflare.com/ssl/
cloudflare dashboard
解决方案
我最终了解到 Heroku 需要一个特定的主机来接收他们告诉您在设置域名时指向的地址... 所以我为我的域名切换到 Gandi 并将 ALIAS 设置为指向所述地址
很有魅力