1.修改Django settings.py
添加:
SECURE_SSL_REDIRECT = False
# 当SECURE_SSL_REDIRECT = False时,http请求无响应,https请求能正确访问。
# 当SECURE_SSL_REDIRECT = True时,http请求会重定向https,此时django支持https,可正确访问。
INSTALLED_APPS = (
"sslserver",
)
2.安装https所需服务
pip install django-sslserver
python manage.py runsslserver`
如图(记录下.crt和.key的文件路径):**
3.用指定证书启动Django应用
在项目根目录下:
python manage.py runsslserver --certificate /usr/local/bin/python3.6/dist-packages/certs/development.crt --key /usr/local/bin/python3.6/dist-packages/certs/development.key 0.0.0.0:8000
如图:
4.公网访问
这里作以下说明:使用了Nginx(80/443)做了负载均衡,Nginx处理静态资源,Nginx配置的时候我使用的是阿里云上申请的免费证书,是被浏览器信任的;Django项目数量处理其他复杂请求(8000)使用的是如上所述的自己创建的证书,是不被浏览器信任的,但仍可访问。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。