阿里云nginx下从http到https

xiaoxiao2021-02-28  44

    最近参加微信小程序比赛,发现连接站点的时候必须要有SSL证书,于是自己动手弄了一个(本人也是菜鸟一只,有不当之处请多多指教)。

  首先要购买一个证书,我用的是阿里云上的免费证书。

接下来就是证书的安装。在nginx目录下新建一个cert目录,证书购买过后会有一个压缩文件,解压文件过后会有一个.pem文件和.key文件,将这两个人文件上传到之前新建的cert目录下。

然后是nginx的配置。打开nginx.conf找到

 # HTTPS server    #    #server {   #    listen       443 ssl;    #    server_name  localhost;    #    ssl_certificate      cert.pem;    #    ssl_certificate_key  cert.key;    #    ssl_session_cache    shared:SSL:1m;    #    ssl_session_timeout  5m;    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #    ssl_prefer_server_ciphers  on;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }

    #}

添加

server {    listen 443;    server_name ancdbck.top;    ssl on;    root /web;    index index.html index.htm;    ssl_certificate   cert/*.pem;#*.pem为上传的pem文件的文件名    ssl_certificate_key  cert/*.key;#*.key为上传的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;    location / {        root /web;        index index.html index.htm;    }

}

此时已经可以通过https访问了。但浏览器默认的是http

解决方案:在nginx的配置文件中的server{}中写入rewrite ^(.*)$ https://$host$1 permanent;就可以了。

------------------------------------------------------------------------------------------------------------------

再次申明:我也是菜鸟一只,若有不当之处还望多多指教。

转载请注明原文地址: https://www.6miu.com/read-2619123.html

最新回复(0)