云服务器部署SSL证书-Nginx
基于Centos-7.2部署LNMP环境 教程所搭建的Nginx环境,为web服务配置SSL证书(需要提前准备好域名)。以下步骤为配置部署证书的全部过程。
下载证书并解压
进入百度智能云控制台--安全和管理--SSL证书服务–已购证书列表中,点击之前基于该服务器所绑定域名申请的证书信息--查看证书。
点击下载证书,选择PEM_Nginx格式,并设置四位数字的解压缩密码。
在本地下载完毕后,双击打开,可看到有crt以及key两个文件,选择解压到,设置路径后,输入刚在控制台上设置的四位数密码。
上传证书文件到服务器中
使用FTP或者其他工具将上一步中解压得到的crt以及key文件上传到服务器的nginx配置目录/etc/nginx/中。
修改配置文件
vim/etc/nginx/nginx.conf
添加上以下虚拟主机配置,或者取消HTTPS主机的注释。
server {
listen 443;
server_name********.com;#更换上所绑定的域名,一定要是申请了证书的域名
sslon; #这一行是另外添加的,意思是打开ssl功能,一定要添加。
ssl_certificate/etc/nginx/********.com.crt;#这是下载下来的nginx证书的crt文件路径,绝对或者相对路径都可以
ssl_certificate_key/etc/nginx/*********.com.key; #和crt的规则一样
ssl_session_cacheshared:SSL:1m;
ssl_session_timeout5m;
ssl_ciphersHIGH:!aNULL:!MD5;
ssl_prefer_server_cipherson;
location / {
root html;
indexindex.html index.htm;
}
}
保存配置后,重启nginx服务
systemctl restart nginx
此时可通过netstat -anplt查看到443端口已经开放。使用https://域名也可正常打开网站。
设置http强制跳转https
vim/etc/nginx/nginx.conf
在80的server中,先将server_name后的localhost修改为此证书域名。然后在下面添加上一句:
rewrite ^(.*)$ https://${server_name}$1 permanent;
保存后,重启nginx:
systemctl restart nginx
此时在直接访问域名时,会全部301跳转到https请求上。