如何强制Google App Engine [python]使用SSL(https)?

问题描述 投票:7回答:2

我使用Python在Google App Engine上编写了一个Web应用程序。

用户可以访问我的网站http:// [youraccount] .appspot.com和https:// [youraccount] .appspot.com

如何将http流量重定向到https站点。

换句话说,我如何强制此网站使用SSL(https)用于安全目的(以及更好的SEO)?

python google-app-engine https
2个回答
8
投票

只需将secure参数添加到app.yaml文件即可。

handlers:
- url: /youraccount/.*
  script: accounts.py
  login: required
  secure: always

Configuring Secure URLs in app.yaml

Google App Engine支持使用*.appspot.com域通过HTTPS为URL进行安全连接。当请求使用HTTPS访问URL,并且该URL配置为在app.yaml文件中使用HTTPS时,请求数据和响应数据在发送之前由发送方加密,并在收件人解密之后解密接收。安全连接对于保护客户数据非常有用,例如联系信息,密码和私人消息。


0
投票

对于在灵活环境中在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,因为服务器位于负载均衡器后面。

© www.soinside.com 2019 - 2024. All rights reserved.