最近项目中所有的http请求都要升级到https,实践了一把配置nginx的ssl证书。
由于我们的证书是公司下发的,所以省略了申请证书的体验,关于申请免费证书可以自行搜索。
拿到的证书分两个文件,一个是xxx.crt,一个是xxx.key,分别对应公钥和私钥。
step1.假设我们的nginx安装目录是:/usr/a/b/nginx/,进入下面的conf目录,在conf目录下创建一个新目录,姑且命名为sslfile,把两个证书文件扔到此目录下。
step2.编辑conf目录下的nginx.conf文件,当然,在编辑前最好先备份一下。我们找到类似下面的段:
step3.如果只想让网站支持https访问,那么在server_name下面插入两行,添加两行内容:
- listen 443;
- ssl on;
step4.如果想让网站兼容http和https访问,那么在server_name下面插入一行,添加一行内容:
step5.再插入三行,添加内容:
- listen 443 ssl
- ssl_certificate sslfile/xxx.crt;
- ssl_certificate_key sslfile/xxx.key;
- ssl_session_timeout 5m;
step6.编辑完成后,保存退出,进入目录/usr/a/b/nginx/sbin/,执行命令nginx -t,测试下我们修改后的配置文件语法是否正确,如果正确将会输出如下提示:
step7.然后继续执行命令,nginx -s reload,重新加载配置文件。执行后,在浏览器中输入https的网址进行访问,如果地址栏边上有个小锁的标志,则证明升级成功,恭喜自己吧!