部署完的Django项目升级为HTTPS

1.阿里云上申请免费ssl证书--->提交各种资料--->等待审核--->下载证书。

2.远程连接阿里云服务器,将下载下来的证书内容复制到Nginx安装目录下的cert目录(需要新建)。

  a.终端远程连接阿里云:ssh 用户名@ip  (eg: ssh root@192.168.1.1)

  b.把本地的文件推送到远程阿里云上    scp 本地文件路径/本地文件名 用户名@ip:远程存放地址 (eg:scp /etc/nginx/nginx.conf root@192.168.1.1:/home/nginx)

                     scp 用户名@Ip:远程文件地址 本地文件存路径   (eg:scp root@192.168.1.1:/home/nginx /etc/nginx/nginx.conf)

  参数 -r    递归复制整个文件夹    

  远程上传文件和下载文件的教程参考网址:https://blog.csdn.net/xieyunc/article/details/79756530

3.配置nginx。

 1 server {
 2     listen 443;       #https的端口号
 3     server_name localhost;       #服务器的域名
 4     ssl on;
 5     ssl_certificate   cert/215060862260071.pem;
 6     ssl_certificate_key  cert/215060862260071.key;
 7     ssl_session_timeout 5m;
 8     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 9     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
10     ssl_prefer_server_ciphers on;
11     location / {
12         root html;          #文件存放的地址
13         index index.html index.htm;     #文件的格式
14     }
15     location ^~ /iot/ {
16               include uwsgi_params;     #uwsgi配置 
17               uwsgi_pass 127.0.0.1:3001;   #uwsgi的ip和端口
18         }
19 }
20 #这个配置文件不是在nginx.conf里,而是另外写的一个配置文件链接进去的。如何实现的还没搞懂,下次搞懂了在写一篇关于Nginx配置的。
View Code

检查nginx配置是都正确 nginx -t 

重启nginx  service nginx restart

 4.修改html和js里的url,将http改为https。不修改会引起浏览器发送https请求到http上,导致不能连接。

原文地址:https://www.cnblogs.com/ppzhang/p/9770628.html