Ubuntu Nginx下配置ssl實現https訪問

前言

由於要寫個微信小程序,要請求我本身服務器上的接口必須將個人域名添加至白名單,並且必須是要https訪問,故需此番折騰。
同時,由於我在服務器上配置的是Flask項目,詳細在Ubuntu 16.04上部署Flask,nginx的配置跟正常的稍微有些不一樣。html

第一步,搞個證書

本人由於用的騰訊雲的服務器,因此在騰訊雲申請了個一年的免費證書,其餘雲服務器商應該也有免費證書,至於OpenSSL就不適合本教程了。nginx

第二步,安裝證書

簡單來講,就是把從騰訊雲、阿里雲下載下來的證書挪到服務器上去,我是把證書上傳到git服務器,而後在服務器端git pull下來,證書放哪裏均可以git

第三步,配置nginx

默認的nginx配置文件是nginx.conf,由於我部署的Flask項目,配置文件不一樣ubuntu

sudo nano /etc/nginx/sites-available/myproject
複製代碼

添加內容以下小程序

server {
    listen 80;
    server_name www.ymhd.xyz;
    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/ubuntu/myproject/myproject.sock;
    }
    # 下面是配置https內容
    listen 443;
    ssl on;
    ssl_certificate   /usr/local/ymhd/1_www.ymhd.xyz_bundle.crt;
    ssl_certificate_key  /usr/local/ymhd/2_www.ymhd.xyz.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;
}
複製代碼

其中特別注意的是,ssl_certificatessl_certificate_key後面的內容分別是你證書中crtkey文件的絕對路徑微信小程序

最後,重啓

重啓nginx,重啓服務bash

sudo systemctl restart nginx
sudo systemctl restart myproject
複製代碼
相關文章
相關標籤/搜索