我使用Python在Google App Engine上编写了一个Web应用程序。
用户可以通过 http :// [youraccount] .appspot.com和 https :// [youraccount] .appspot.com
访问我的网站如何将 http 流量重定向到 https 网站。
换句话说,如何强制此网站使用 SSL(https)
来实现安全性目的(以及更好的搜索引擎优化)?
答案 0 :(得分:8)
只需在secure
文件中添加app.yaml
参数即可。
handlers:
- url: /youraccount/.*
script: accounts.py
login: required
secure: always
请参阅Configuring Secure URLs in app.yaml
Google App Engine支持使用HTTPS通过HTTPS进行安全连接
*.appspot.com
域名。当请求使用HTTPS访问URL时 并且该URL配置为在app.yaml文件中使用HTTPS,都是 请求数据和响应数据之前由发送者加密 它们被传输,并在收件人解密后解密 接收。安全连接对于保护客户数据非常有用, 例如联系信息,密码和私人消息。
答案 1 :(得分:0)
对于在 Flexible 环境中在Google App Engine上运行的Django项目,在app.yaml中设置secure: always
无效[Google Cloud docs]。
相反,我在settings.py
文件中添加了以下[Django docs]:
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True
SECURE_HSTS_SECONDS = 31536000
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
请注意,SECURE_PROXY_SSL_HEADER
是必需的,因为服务器位于负载均衡器的后面。