我有一个使用自定义域名部署到Heroku的Web应用程序,该域名通过CloudFlare管理。
我要做的是将HTTP请求重定向到HTTPS。
SECURE_SSL_REDIRECT根据Django的文档,设置为True后,在通过自定义域访问网站时遇到了Too many redirects(或site redirected you too many times)错误。
这是我的settings.py档案中的内容:
SECURE_SSL_REDIRECT = True
SECURE_PROXY_SSL_HEADER = ('X-Forwarded-Proto', 'https')
Run Code Online (Sandbox Code Playgroud)
请注意,此重定向适用于myapp.herokuapp.com域。
我在CloudFlare上使用DNS +代理,并且SECURE_PROXY_SSL_HEADER根据Heroku的文档进行设置。
这是Heroku日志:
2019-04-17T11:21:08.514202+00:00 heroku[router]: at=info method=GET path="/" host=staging.mywebsite.com request_id=cf90ab0c-0895-4faf-aeea-5ee5fe5f970d fwd="115.87.132.194,172.68.242.176" dyno=web.1 connect=0ms service=2ms status=301 bytes=228 protocol=http
Run Code Online (Sandbox Code Playgroud)