前言
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
大部分小伙伴们都有自己网站, 今天分享一波如何给自己的网站配置SSL证书。
已配置
已配置证书的
未配置证书
我的简历网站就没有证书(github pages), 所以搜索栏会显示不安全, 影响访问量.
环境
- 服务器系统:CentOS 7
- 服务器IP地址:139.9.34.48
- 域名:folio.codingce.com.cn
- 服务器中nginx版本:nginx-1.16.1 (公众号回复"电脑环境"获取)
域名解析到服务器
在华为云控制台-云服务DNS-公网解析-找到需要解析的域名点“解析”,进入解析页面后选择【添加解析】按钮会弹出如下页面:
主机记录为 空 , 类型是 A – 将域名指向IPv4地址 , 记录值就是 服务器ip地址 ,确认.
申请ca证书
本人是在腾讯云的SSL证书中申请的, 跑自己的项目我们购买 免费的DV SLL证书 , 有效期是一年.
小伙伴们按照下图填写就行, 设置密码的话不要忘了哦.
进入下一步
我们选择 手动DNS验证 无误后点击确认申请.
解析一条主机记录值到我们的测试域名中 folio.codingce.com.cn
解析完成, DNS验证有延迟, 我们先给自己的服务器安装好nginx.
下载证书
列表中找到已签发的证书,下载:
记录以下内容,为了一会儿配置nginx用:
下载的文件有两个:
- 1. 1_folio.codingce.com.cn_bundle.crt
- 2. 2_folio.codingce.com.cn.key
服务器安装,配置nginx
登录到服务器, 从 http://nginx.org/en/download.html 下载稳定版nginx-1.16.1.tar.gz到/usr/local/src下解压、安装.
配置ca证书
- nginx的安装目录为:/usr/local/nginx. 进入目录,增加cert文件夹,把刚刚下载的两个文件上传到cert/文件夹中.
- 进入nginx目录, 再进入config目录, 增加vhost文件夹把配置文件放入其中.
- 说明:下面的配置是对443端口和80端口进行监听,443端口要启用ssl。监听443端口的server配置可以仿照上面ca认证页面的nginx配置示例进行配置。
folio.conf配置
server{ listen 81; server_name folio.codingce.com.cn; location / { root /usr/mxz_project/folio/; index index.html; } #把http的域名请求转成https rewrite ^(.*)$ https://$host$1 permanent; location /logs/ { autoindex off; deny all; }error_page 411 = @my_error; } server{ listen 443 ssl; server_name folio.codingce.com.cn; ssl_certificate /usr/local/nginx/cert/1_folio.codingce.com.cn_bundle.crt; ssl_certificate_key /usr/local/nginx/cert/2_folio.codingce.com.cn.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; charset utf-8; location / { root /usr/mxz_project/folio/; index index.html; } }
配置完成后,检查一下nginx配置文件是否可用,有successful表示可用。
$ nginx -t // 检查nginx配置文件
配置正确后,重新加载配置文件使配置生效:
$ nginx -s reload // 使配置生效
至此, nginx的https访问就完成了, 并且通过rewrite方式把所有http请求也转成了https请求, 更加安全.
访问效果
输入https://folio.codingce.com.cn