繁体   English   中英

将http重定向到Django中的https(使用sslserver)

[英]Redirect http to https in Django (using sslserver)

我有一个 django 项目使用 django sslserver与 HTTPS 一起工作。我希望http被重定向到https 我尝试添加SECURE_SSL_REDIRECT = True似乎没有任何效果。

类似地,为了测试我的重定向是否正确,我在一个测试项目上尝试了以下操作。

  1. 创建了一个新的 django 项目
  2. 添加SECURE_SSL_REDIRECT = Truesettings.py文件。 现在,当我尝试使用http运行服务器时,它会重定向到https 但是截至目前,我的服务器不支持https ,导致未显示所需的 web 页面。
  3. 安装sslserver
  4. 使用命令python manage.py runsslserver 8000项目
  5. 这成功地将网页重定向到https即使我用 http 打开http

这个测试重定向像这样工作得很好。 但是如果我已经安装了sslserver ssl 重定向似乎没有任何效果。 我已经被这个问题困扰了一段时间,非常感谢您的帮助。

SECURE_SSL_REDIRECT设置与SecurityMiddleware一起使用。

尝试将其添加到settings.py MIDDLEWARE_CLASSES

除了提到的 settings.py 中的 SECURE_SSL_REDIRECT=True 之外,您还需要两者

  1. 在端口 443 上运行 slserver
  2. 在端口 80 上运行服务器

让另一个服务在端口 80 上侦听传入的 http 请求并进行重定向。

这对我行得通。

尝试添加到您的设置。

ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM