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
复制代码
相关文章
相关标签/搜索