1. 程式人生 > 其它 >django使用阿里雲部署切換https

django使用阿里雲部署切換https

技術標籤:pythonDjangoflasknginxhttpsdjangolinuxflask

1. 首先我們在阿里雲上面申請免費的https證書,然後將證書上傳到nginx安裝目錄下的cert,如果沒有,新建一個cert目錄

cd /etc/nginx/

mkdir cert

然後上傳證書檔案

linux# rz 檔案

或者

scp 證書地址/證書檔案 [email protected]伺服器地址:/nginx根目錄/cert/

2.更改nginx配置檔案

# sudo vim /etc/nginx/sites-available/django.conf
server {
        listen 443;
        server_name 域名;
        charset utf-8;
        # max upload size
        client_max_body_size 50M;
        # 啟用gzip壓縮
        gzip on;
        ssl on;
        ssl_certificate   cert/證書.pem;
        ssl_certificate_key  cert/證書.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        # 壓縮型別
    gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream;
        location / {
                        proxy_pass http://127.0.0.1:8000; #此處和你gunicore的ip和埠一致
                        include uwsgi_params;
           
                }

        location /static {
                alias  ; # your Django project's static files
        }
        location /media  {
        alias ;  # your Django project's media files
    }
}

3.重啟nginx服務

檢查nginx配置

nginx -t 

若出現下面結果表示配置無誤

4.重啟nginx服務

service nginx restart

注意:修改html和js裡的url,將http改為https。不修改會引起瀏覽器傳送https請求到http上,導致不能連線。