申请证书
https://console.cloud.tencent.com/ssl
填写你要申请的域名,填写完成后,一般5分钟内会审核通过。
Nginx配置Https
首先下载你申请到证书
下载完成后解压缩。然后将Nginx文件中的两个文件上传到你的服务器任意目录上
接下来,在服务器中,编辑你的Nginx配置文件,添加如下server(不知道如何配置Nginx请自行百度)
server{
listen 443 ssl;
server_name www.xxx.cn; # 此处填写你的域名或IP
root /var/www/html; # 此处填写你的网页根目录
ssl_certificate /home/xxxx/1_xxx_bundle.crt; # 指定证书的位置,必须是绝对路径
ssl_certificate_key /home/xxxx/2_xxx.cn.key; # 必须是绝对路径,同上
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
}
如有需要,可以配置http的请求,全部自动转到https
server {
listen 80;
server_name www.xxx.cn; # 此处填写你的域名或IP
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
然后重启Nginx服务
sudo systemctl restart nginx
然后其实已经配置完成了,如果你使用了腾讯云的CDN,可以继续往下看
腾讯云CDN配置Https
点击对应证书,点击部署到国内CDN
选择协议跟随
然后保存即可~
Django服务器配置Https
首先安装ssl
pip install django-sslserver
在settings.py文件中添加如下语句
SECURE_SSL_REDIRECT = False 时,http请求无响应,https请求能正确访问
SECURE_SSL_REDIRECT = True 时,http请求会重定向到https
SECURE_SSL_REDIRECT = False
INSTALLED_APPS = (
# 这里有其他的APPS,在最下面添加sslserver即可
"sslserver",
)
指定证书启动django应用
python manage.py runsslserver --certificate /path/to/certificate.crt --key /path/to/key.key 0.0.0.0:8000
至此配置完成