我有一个关于谷歌域名(www.example.com)的网站,它是由Gcloud托管的。我按照这里列出的设置SSL和https:https://cloud.google.com/appengine/docs/standard/python/securing-custom-domains-with-ssl的说明
基本上,我刚运行了gcloud beta app domain-mappings update example.com --certificate-management='AUTOMATIC'
现在我确实可以访问https://example.com和https://www.example.com了。但是我也可以访问那些域的不安全的http版本。
如何将我的Google域设置为始终使用https?如果有人键入http://example.com,我希望它转到https站点。
记录:我的裸域(example.com)有4A记录和4个AAAA记录。
我的www.example.com域与alias=www有1条CNAME记录。
发布于 2018-02-12 15:23:04
亚历克斯的回答(见评论)使我走上了正确的道路。
第一个meteor add gadicohen:headers
添加headers
信息。
在我的路由器逻辑(Meteor上的铁路由器)中,我检查x-forwarded-proto
是否是http
。如果是这样的话,将http
替换为https
,然后转到该URL。我确定我也不在本地主机上,这样我就可以开发这个网站了
Router.onBeforeAction(function () {
<some other logic>
// Redirect http to https
if (headers.get('x-forwarded-host') !== "localhost:3000") {
if (headers.get('x-forwarded-proto') === "http") {
window.location = window.location.href.replace('http', 'https')
}
}
});
发布于 2018-02-12 10:46:42
您是否尝试过在您的secure: always
处理程序中设置app.yaml
handlers:
- url: /youraccount/.*
script: accounts.app
login: required
secure: always
始终 不使用HTTPS的与此处理程序匹配的URL请求将自动重定向到具有相同路径的HTTPS URL。为重定向保留查询参数。
发布于 2018-02-12 13:27:41
secure: always
仍然在所有标准环境中工作,但是在所有灵活的环境( 见这里的文档或为Node.js而来 )中,安全选项都是废弃的。
如果在当前环境中需要此功能,则建议的解决方案需要更改应用程序代码。要么使用自定义的header X-Forwarded-Proto
将HTTP流量重定向到HTTPS,要么使用HTTP严格传输安全响应标头。
https://stackoverflow.com/questions/48752601
复制