【问题标题】:How to change the http into https for my domain name?如何将我的域名的 http 更改为 https?
【发布时间】:2021-12-13 12:19:46
【问题描述】:

我最近在 OVH 为我在 Heroku 上托管的应用购买了一个域名。然后,我为 dynos 付费以设置自动 SSL 证书。

在我看来一切正常:

Domain       Status       Last Updated
───────────  ───────────  ────────────
mpjrigot.eu  Cert issued  2 minutes
mpjrigot.fr  Cert issued  2 minutes

但我的 URL 仍然是 HTTP。我错过了什么?

编辑

我正在为这个应用程序使用 React.js

我也有一个 Ruby on Rails 回来,但对于 nom 我将它保留在 heroku.app 上,工作正常

第二次编辑

使用 react-https-redirect、force-https 或 react-ssl-redirect...

基本上,chrome 告诉我“这不是一个安全的空间”,这是一个假的 https,可能想窃取用户的密码和东西

所以我在 HerokuApp 上设置了 SSL, 我在 OVH 上获得了一个指向应用 IP 的域

但是 http 在某种程度上并不安全

我真的认为我错过了一些明显的东西,因为我是新手......

【问题讨论】:

  • 您如何在 Heroku 上托管您的 React 应用程序?生产 React 构建只是静态文件,而这并不是 Heroku 所做的。你如何托管你的 React 应用程序将决定最佳的行动方案。
  • 好吧,我只是在生产中部署我的 Git Main 分支,如果这就是你的意思的话
  • 不是真的...您是在开发模式下部署 React 还是使用生产版本?你能告诉我们你的package.json吗?你有Procfile吗?
  • 我终于明白了,将我的域名从 OVH 切换到 Gandi... 结果 ovh 只使用在 Heroku 上不起作用的静态 IP ...

标签: ssl heroku ssl-certificate


【解决方案1】:

我错过了什么?

Heroku 提供了一个证书,因此您应该能够使用https:// 访问您的应用程序。不过it does not redirect HTTP requests to HTTPS for you:

重定向需要在应用程序级别执行,因为 Heroku 路由器不提供此功能。您应该将重定向逻辑编码到您的应用程序中。

具体操作方式取决于您使用的语言和库或框架。我在上面提供的链接中列出了几个常见示例。

如果您编辑您的问题以告诉我们您使用什么技术来构建您的应用程序,我很乐意将这些详细信息添加到此答案中。如果您使用的是 Scala,请参阅How to disable HTTP requests on Heroku and/or auto-redirect to HTTPS?

【讨论】:

    【解决方案2】:

    您可以通过以下方法将 HTTPS 添加到您的应用中。

    方法1(推荐)

    由于您使用 rails 作为后端,您可以将您的 rails 应用程序配置为始终使用 HTTPS。

    在你的 production.rb 中添加

    config.force_ssl = true
    

    方法 2(简单设置)

    您还可以注册 cloudflare 的免费计划,并使用 cloudflare 的“始终使用 HTTPS”或“自动 HTTPS 重写”功能轻松设置 https 重定向。

    “始终使用 HTTPS”功能会将您网站上的所有 http 请求重定向到 https 地址。

    “自动 HTTP 重写”功能会将您网站上的 HTTP 链接更改为 HTTPS 链接。

    更多信息在这里:

    cloudflare dashboard

    【讨论】:

    • 太好了,我会调查一下虽然当我说回来时,它只是一个 Rest API,我觉得我应该在我的 React 应用程序中添加一些东西,不是吗?
    • 是的,如果是这样,那么我认为您将不得不这样做。也许检查这些包:react-https-redirect、force-https 和 react-ssl-redirect
    • 好的,它确实重定向但我的heroku证书无法识别,因此https重定向只是发送错误......
    • 好的,你能给我更多关于错误的细节吗?可能某些配置错误,或者可能存在 DNS 问题或类似问题,或者 SSL 证书配置不正确。此外,如果配置不正确,有时自动重定向可能会导致重定向循环。
    • 基本上,chrome 告诉我“这不是一个安全的空间”,而且这是一个假的 https,可能想窃取用户的密码和东西所以我在我的电脑上设置了一个 SSL HerokuApp 我在 OVH 上有一个指向应用程序 IP 的域但是 http 不安全我真的认为我错过了一些明显的东西,因为我是新手...
    【解决方案3】:

    解决方案

    我最终读到 Heroku 需要一个特定的主机来接收他们告诉你在设置域名时指向的地址...... 所以我切换到 Gandi 作为我的域名并将 ALIAS 设置为指向上述地址

    像魅力一样工作

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 2023-03-02
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      相关资源
      最近更新 更多