一.获取ssl证书(此步骤较复杂,而且容易出错)
1.百度搜索ssl免费证书,然后选择一个选项,进入,如图:
点击免费申请
2. 输入你要申请ssl证书的地址:
3.填写一下数据:
4.CSR生成:
注意:生成CSR文件后,得到后缀名为.csr和.key的文件,这两个文件需要和ssl证书文件一一对应,否则nginx配置ssl证书的时候会报错
5.下载如图文件,在注册服务器上配置TXT(我注册的是阿里云):
6.点击验证后,如果以上步骤没有问题,即可点击下载,如图:
二.nginx配置ssl证书
1.将证书压缩包的.crt文件,和CSR生成文件中.key文件放入Linux指定文件夹,在nginx配置的server里面写入如下代码:
listen 443 ssl http2 default_server;#端口443需要设置
listen [::]:443 ssl http2 default_server;
ssl_certificate "/etc/pki/nginx/server.crt";#.crt文件的位置
ssl_certificate_key "/etc/pki/nginx/private/server.key";#.key文件的位置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
注:如果配置多个的话:
listen 443 ssl http2 default_server;#端口443需要设置
listen [::]:443 ssl http2 default_server;
改成
listen 443 ssl;
2.设置后保存配置文件,Linux下调用nginx -s reload命令重启nginx,如图:
如果报这个错,说明你的CSR生成和ssl证书不是一一对应,需要重新来过
如果重启成功,https证书安装完毕
点击证书信息,获取如下:
三.nginx配置http强制转https
在nginx配置文件中server下添加如下:
if ($scheme = "http") {
rewrite ^/(.*)$ https://$server_name/$1 permanent;
}