这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战
前言
本篇介绍如何购买SSL免费证书,以及购买后,如何使其生效
以下演示是去阿里云 购买的免费证书,证书的有效期是1年
购买SSL证书
(1)购买证书
先购买免费的证书,然后再创建免费的证书
(2)创建免费证书
(3)创建完毕后,自动生成一条证书记录,点击“证书申请”
(4)填写相关信息,确定
- 验证方式,看你实际情况,如果你有域名的操作权,就选择手工DNS验证
- CSR生成方式,一般选择默认系统生成
(5)验证信息,按照提供的信息,去给你的域名做解析
(6)解析域名
(7)域名解析完毕后,点击验证
(8)之后就可以看到证书已经成功签发
证书配置
介绍如何使证书生效,下面是根据nginx举例
(1)根据服务器类型,选择证书下载,我这边是Nginx的,所以选择Nginx类型下载
(2)在服务器的nginx安装目录的conf文件下下,创建cert文件夹,存放证书文件
PS:服务器的nginx安装目录一般在/usr/local/nginx
(3)在该cert目录下上传你 解压过的证书
(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;
}
}
(5)重新加载配置:./nginx -s reload,如果报错下面错误看第(6)步骤,如果没报错,可以不用看接下来的步骤了
(6)上面报错需要做额外的处理,回到你的原本的nginx解压目录(不是安装目录)
(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/
(11)然后启动nginx
./nginx
(12)查看效果,配置成功!
追加效果
如果将所有HTTP请求通过rewrite指令重定向到HTTPS。在nginx配置文件加下下面代码
rewrite ^(.*)$ https://$host$1;