如何在windows10中制作django站点https。我使用的是公网IP,不是本地主机。
我试着把下面的代码放在www.example.com中settings.py,它来自Error "You're accessing the development server over HTTPS, but it only supports HTTP"
CORS_REPLACE_HTTPS_REFERER = False
HOST_SCHEME = "http://"
SECURE_PROXY_SSL_HEADER = None
SECURE_SSL_REDIRECT = False
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_SECURE = False
SECURE_HSTS_SECONDS = None
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_FRAME_DENY = False
我得到以下错误
- [09/Sep/2019 12:50:18]代码400,消息Bad request version('Gð\x1a\x15 ī Öõß/\x02h|.\x9a\x11,\x93 ')[09/Sep/2019 12:50:18]您正在通过HTTPS访问开发服务器,但它只支持HTTP。*
我甚至设置了DEBUG = False
但没有用仍然是同样的错误。
现在我的问题是我在尝试在Windows 10操作系统上的django中实现SSL时迷失了方向
3条答案
按热度按时间vngu2lb81#
Django开发服务器(由
python manage.py runserver
运行)* 无法处理https*。检查this answer的建议。
最简单的解决方案之一是使用django-sslserver包。
其他解决方案包括在本地运行某种https代理。
或者,使用wsgi服务器并在其上配置适当的https,而不是在开发模式下运行它(没有实时重载)。
mxg2im7a2#
你可以使用ngrok来代理你的本地开发服务器到一个公共的httpsurl。
python manage.py runserver
运行dev服务器ngrok http 8000
来运行ngork。你将得到一个公共的https url,你可以用它来访问你的本地服务器。zhte4eai3#
您需要使用uWSGI和Nginx运行Django应用程序才能使其工作。
下面的链接将是非常有帮助的,我已经尝试了它在Linux和工作顺利。https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
希望这有帮助:)