目录
一、前言
Python Django配置https,一开始还在搜索解决这个问题但是搜索后并尝试无果,大多数人文章几乎都讲的是增加setting.py配置后安装新的依赖,通过过runserver_plus的方式启动但是会遇到各种不同的问题。
https://qatester.blog.csdn.net/article/details/123460240
通过上文学习了解到如果通过OpenSSL生成Https网站所需证书,本文主要讲解如何通过Nginx反向代理使Django或SpringBoot开发的网站支持Https的方式访问。
二、Nginx配置Https网站
1、Nginx配置简介
2、nginx.conf 配置
前提目前配置正确可用,找到nginx.conf配置后切换到文本底部找到 # Settings for a TLS enabled server. 段落 或 #listen 443; 段落 取消注释并修改对应配置。
修改关键点
# 填写本地 OpenSLL 生成 pem 文件绝对路径
ssl_certificate /etc/nginx/ca.pem;
# 填写本地 OpenSLL 生成 key 文件绝对路径
ssl_certificate_key /etc/nginx/ca.key;
完整示例展示
# Settings for a TLS enabled server.
server {
listen 443 ssl http2 default_server;
server_name localhost;
root /usr/share/nginx/html;
ssl_certificate /etc/nginx/ca.pem;
ssl_certificate_key /etc/nginx/ca.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
proxy_pass http://localhost:8080;
add_header Access-Control-Allow-Origin *;
#proxy_redirect http://localhost:8080 $scheme://example.com;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
3、重载nginx配置文件并校验网站是否支持Https
重载nginx配置
service nginx reload
重启nginx(二选一即可)
service nginx restart
查看网站Https效果(自己发证未经机构颁发报不安全……)