本文转自:会打篮球的程序猿

原文链接:https://www.lzhpo.com/article/102


了解开启SSL的作用

一、防止网站被劫持,常见的是手机广告劫持与流量劫持。
二、网站交流数据的加密传输。
三、搜索引擎优先收录HTTPS站点,更有利SEO优化。
四、网站源码与系统受到全站SSL协议安全。
五、网站容易被识别,增加网站信任度与形象。
六、帮助用户识别钓鱼网站。
七、保障用户隐私信息安全与网站隐私。
八、用于微信小程序与APP开发接入服务。
还有就是,就算是你nginx配置了websocket,谷歌浏览器要https才能接收通知了,微软的edg就可以。

https:

下载软件

法1:在FreeSSL开启【选择免费的】

https://freessl.cn/

在这个网站创建免费证书,之后会让你下载一个软件,那个是生成证书和秘钥的。
选择免费的!!!土豪除外!

就是这个软件:

按提示操作

服务器配置ssl

    # HTTPS server
    server {
        listen       443 ssl;
        server_name  www.lzhpo.com;
        ssl on;
        #root html;
        #index index.html index.htm;

        ssl_certificate      /etc/nginx/cert/web-ssl/cert.pem;
        ssl_certificate_key  /etc/nginx/cert/web-ssl/key.pem;

        # ssl_session_cache    shared:SSL:1m;
        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_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass  http://ip地址:端口;
            proxy_redirect off;
            add_header Access-Control-Allow-Origin *;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # 声明支持websocket
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
        }
    }

emmm...sorry,手抖没注意,写错了不是主机名,是IP地址!!!不改了,还得重新截图,麻烦,在这里说明一下就好。

服务器强制https

return    301 https://$server_name$request_uri;


配置完之后,重启nginx。

systemctl restart nginx

法2:在阿里开启

方法都和上面的一样,只是阿里的免费的有一些限制就是......

效果

访问你的域名,自动跳转到https。