Heroku建议使用NPM包来处理快速应用的强制SSL。我已经尝试了十几次,但都没有成功。我唯一能做的就是如下所示,但后来谷歌疯了。
问题:谁能告诉我截至2022年在Express应用上强制使用HTTPS的工作方法?
<script>
//This works but Google Console gets angry: Page indexing issues: Page with redirect
var host = "www.URL.com" || "URL.com";
if ((host == window.location.host) && (window.location.protocol != "https:")){
window.location.protocol = "https";
}
</script>
1条答案
按热度按时间3okqufwl1#
如果您设定
Strict-Transport-Security
信头,浏览器会在第一次透过HTTPS存取网站 * 之后,记住这是一个仅限HTTPS的网站 *。然后浏览器会以https://your.server
的要求取代http://your.server
的每一个后续要求,因此它永远不会再透过HTTP存取您的网站。为了确保第一次通过HTTPS访问,添加一个从HTTP到HTTPS的永久重定向(我不认为这个重定向会让Google感到不安,例如,
github.com
也是这样做的)。下面的代码假设Heroku为您在HTTP和HTTPS上运行应用程序。