我最近在 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 不知何故不安全
我真的認為我錯過了一些明顯的東西,因為我是新手......
uj5u.com熱心網友回復:
您可以使用以下方法將 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 的“始終使用 HTTPS”或“自動 HTTPS 重寫”功能輕松設定 https 重定向。
“始終使用 HTTPS”功能會將您網站上的所有 http 請求重定向到 https 地址。
“自動 HTTP 重寫”功能會將您網站上的 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 儀表板
uj5u.com熱心網友回復:
我錯過了什么?
Heroku 提供了一個證書,因此您應該能夠使用https://. 但是它確實不將HTTP請求重定向到HTTPS你:
重定向需要在應用程式級別執行,因為 Heroku 路由器不提供此功能。您應該將重定向邏輯編碼到您的應用程式中。
具體如何執行取決于您使用的語言和庫或框架。我上面提供的鏈接中列出了幾個常見的例子。
如果您編輯問題以告訴我們您用于構建應用程式的技術,我很樂意將這些詳細資訊添加到此答案中。如果您使用的是 Scala,請參閱如何禁用 Heroku 上的 HTTP 請求和/或自動重定向到 HTTPS?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/343806.html
