首页Linux文章详情

免费ssl证书的申请,以及如何在阿里云nginx服务器上配置ssl证书和实现https访问教程

By liajitu / Mar 3, 2020 阅读 0 评论 0 发表于 Linux 字数:1688 阅读时间:17秒

摘要:学习如何利用免费SSL证书配置网站HTTPS?开启https有什么利弊?

目录大纲

  1. SSL证书,HTTPS扩展知识

  2. 免费申请ssl证书

  3. 配置ssl证书,实现https

  4. 常见问题总结



一   SSL证书,HTTPS扩展知识

1.1 SSL证书就是遵守SSL协议,由受信任的CA机构颁发的数字证书

1.2 HTTPS:安全超文本传输协议,简而言之:HTTPS = http+ssl

1.3 主要功能:保障服务器和浏览器之间的通信安全.


二  免费申请ssl证书

SSL证书免费申请地址:https://freessl.cn/

大概流程,填写域名,邮箱,下载keymanager ,配置DNS,验证通过后下载证书,最终得到如下2个文件

xxx.com_chain.crt     #公钥
xxx.com_key.key       #私钥



三  配置SSL证书,实现https

3.1 通过ssh登录服务器,通过http或者scp将下载的2个证书文件上传到服务器目录下,路径如下:

/etc/xxx/certs/


3.2  配置nginx,最终配置如下

server {
    listen 443 ssl;
    server_name www.xxx.com xxx.com;   #这里修改你的域名


    ssl_certificate /etc/xxx/certs/xxx.com_chain.crt;    #证书公钥路径
    ssl_certificate_key /etc/xxx/certs/xxx.com_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;

     root  /home/xxx/;       # 这里修改你网站的路径
     index index.php;
     location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)  /index.php?$1 last;
        }
     }
     #php解析
     location ~ [^/]\.php(/|$) {
            try_files $uri =404;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
     }         
}

#下面配置非https跳转到https,注意修改你自己的域名
server {
        listen 80;
        server_name www.lakeui.com lakeui.com;
        rewrite ^/(.*)$ https://www.lakeui.com:443/$1 permanent;
}


3.3  如果是云服务器,需要开启443端口访问,各个平台都有说明如何开放端口访问。

到此https就配置完成了,打开网站得到如下:



四  常见问题总结

4.1  没有开启443端口会导致https无法访问

4.2  修改完nginx配置,一定要重新加载配置 nginx -s reload

4.3  如果配置完成,网站还是提示非安全,出现如下图:

大概原因是网站中加载了非https的资源文件,例如:图片,资源。自己去检查然后修改https就解决问题了

4.4  免费的ssl证书目前只支持主域名,就是只支持 www.lakeui.com , lakeui.com不支持二级域名


致此,免费ssl证书申请以及https服务器配置已经完成!赶紧给自己的网站升级为https吧,提升自己的逼格。

手机扫码阅读,舒服~

⌘ + Return 发表
最新 最早 全部评论0 条评论