SSL免费证书配置(Nginx配置)

375 阅读2分钟

这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战

前言

本篇介绍如何购买SSL免费证书,以及购买后,如何使其生效

以下演示是去阿里云 购买的免费证书,证书的有效期是1年

购买SSL证书

(1)购买证书

先购买免费的证书,然后再创建免费的证书

image.png

image.png

(2)创建免费证书 image.png

(3)创建完毕后,自动生成一条证书记录,点击“证书申请” image.png

(4)填写相关信息,确定 image.png

  • 验证方式,看你实际情况,如果你有域名的操作权,就选择手工DNS验证
  • CSR生成方式,一般选择默认系统生成

(5)验证信息,按照提供的信息,去给你的域名做解析 image.png

(6)解析域名 image.png

(7)域名解析完毕后,点击验证 image.png

(8)之后就可以看到证书已经成功签发 image.png

证书配置

介绍如何使证书生效,下面是根据nginx举例

(1)根据服务器类型,选择证书下载,我这边是Nginx的,所以选择Nginx类型下载

image.png

(2)在服务器的nginx安装目录的conf文件下下,创建cert文件夹,存放证书文件

PS:服务器的nginx安装目录一般在/usr/local/nginx image.png

(3)在该cert目录下上传你 解压过的证书

image.png

(4)去修改配置文件,加入以下配置(域名、证书位置记得做对应修改)

    server {
        listen       443 ssl;
        server_name  你的域名(如www.xxx.com);
        root html;
        index index.html index.htm;
        ssl_certificate      cert/xxxxx.pem;
        ssl_certificate_key  cert/xxxxx.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/dist;
            index  index.html index.htm;
        }

    }

image.png

(5)重新加载配置:./nginx -s reload,如果报错下面错误看第(6)步骤,如果没报错,可以不用看接下来的步骤了 image.png

(6)上面报错需要做额外的处理,回到你的原本的nginx解压目录不是安装目录

image.png (7)依次运行命令

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make

(8) 然后先备份下原有的nginx执行文件(因为之后步骤要覆盖)

  cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak 

(9)先停止下运行中的nginx

./usr/local/nginx/sbin/nginx -s stop

(10)将刚才编译好的文件覆盖掉原来的 nginx执行文件

cp ./objs/nginx /usr/local/nginx/sbin/

image.png

(11)然后启动nginx

./nginx 

(12)查看效果,配置成功!

image.png

追加效果

如果将所有HTTP请求通过rewrite指令重定向到HTTPS。在nginx配置文件加下下面代码

rewrite ^(.*)$ https://$host$1;

image.png