SSL证书不会安装配置?手把手教会你,3步搞定
本文为远怀学堂原创,纯干货分享
我们昨天发布的一篇教程(免费的SSL证书它不香吗?香,真香!)跟大家分享了如何通过阿里云去申请免费的SSL证书,有效期1年,支持个人/企业申请,一个阿里云帐户最多可签发20张。
申请好了SSL证书下一步就是配置安装部署证书,把证书用起来,步骤也很简单,这里跟大家分享下如何在Nginx服务器中轻松部署安装配置,3步搞定。
本教程是接着上一个教程的示例继续操作,如果没看过上一篇教程,可以到我们的主页上查看下相关内容
第1步 下载证书文件到本地电脑中
在阿里云控制台中的SSL操作界面中找到刚申请成功的免费SSL证书,点击右侧的「下载」链接,弹出下载页面,然后点击Nginx右侧的下载按钮,下载证书文件。
每种WEB服务器的SSL证书格式不一样,不通用,需要单独下载对应服务器的SSL证书文件
下载完是一个zip压缩包文件,需要进行解压,解压下来是两个文件:
以.key为后缀的文件是密钥文件
以.pem为后缀的文件是证书文件
第2步 上传到服务器中的特定的文件夹目录下
将第1步中的证书文件(.pem结尾)和密钥文件(.key)文件上传到Nginx服务器中,这两个文件具体的放置路径是在Nginx安装目录下的conf/cert文件夹中。
比如你的Nginx安装目录是/usr/local/nginx,则先在/usr/local/nginx/conf目录下新建一个文件夹cert,然后将这两个文件上传放置在这个目录下。
如果你是Linux主机的话可以参照下面的命令(Windows用户可以手动图形化界面操作):
//创建cert目录cd/usr/local/nginx/conf/
mkdir cert
通过FTP、SCP或者SFTP等工具将证书上传到cert目录,最终效果是:
第3步 配置nginx.conf,使证书生效
修改nginx的配置文件/usr/local/nginx/conf/nginx.conf,修改之前最好通过复制命令将该配置文件备份一份,以防万一把该配置文件改坏了,好恢复。
//备份一份原始的配置文件cp nginx.conf nginx.conf.bak.2020.03.09
接下来就修改nginx.conf文件:
vimnginx.conf
在nginx.conf里增加配置信息:
HTTPS serverserver{listen443ssl;server_nameapi.yuanhuaixuetang.com;ssl_certificatecert/3564574_api.yuanhuaixuetang.com.pem;ssl_certificate_keycert/3564574_api.yuanhuaixuetang.com.key;ssl_session_timeout5m;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocolsTLSv1 TLSv1.1TLSv1.2;ssl_prefer_server_cipherson;root/var/www-data/yhxtapi;indexindex.html index.php;location/ {
}
}
这里对上面的配置信息做一个简单的解释 :
配置信息中ssl开头的配置项是与SSL证书配置相关的,其他内容是一般的Nginx服务器配置信息。
listen443ssl;//监听443端口,因为SSL协议是走443端口
servername api.yuanhuaixuetang.com;//虚拟主机的servername,要与你所用的证书中的域名一致,也就是当时申请SSL证书时用的什么域名,这里也要是相同的域名。
ssl_certificate cert/3564574_api.yuanhuaixuetang.com.pem;//证书文件(.pem)的路径地址,也就是第2步中上传的证书文件的存放地址
ssl_certificate_key cert/3564574_api.yuanhuaixuetang.com.key;//密钥文件(.key)的路径地址,也就是第2步中上传的密钥文件的存放地址
ssl_session_timeout5m;//客户端可以重用会话缓存中的ssl的过期时间
ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;//密码加密方式
ssl_protocols TLSv1 TLSv1.1TLSv1.2;//启用特定的加密协议
ssl_prefer_server_cipherson;//配置优先使用服务端的加密套件,而不是客户端浏览器的加密套件
其他配置信息是基本的Nginx服务器配置信息,这里不详细介绍了。
配置完成之后,保存,使用nginx的命令测试一下配置文件是否正确:
nginx-t
输出结果:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conftestis successful
代表配置文件修改的没问题。
然后让nginx重新加载下配置文件
nginx-s reload
配置就完成了!接下来就是测试看看效果了。
测试下效果
测试之前你需要做的:
- 确保你的服务器防火墙443端口已开启,因为SSL协议是走443端口的,像使用阿里云ECS服务器的话防火墙默认是没开启443端口,需要自己手动去开启。
- 做好域名的解析,将域名正确的解析到你的服务器IP地址上。
做好了这两步之后,你可以在刚配置好的SSL虚拟主机的根目录下新建一个html文件测试下。
按照本文中的配置的话就是在 /var/www-data/yhxtapi目录下新建一个index.html,随便写点内容,然后打开浏览器,访问:https://api.yuanhuaixuetang.com/
点击左侧的小锁图标可以看到信息
看到上面中的显示效果代表你的SSL证书生效了,配置安装成功了!
可以再多做一件事
你可以在nginx.conf里再多配置一点:
server{listen80;server_nameapi.yuanhuaixuetang.com;rewrite^(.*)$https://$host$1permanent;
}
上面的配置可以让用于访问HTTP请求时自动跳转到HTTPS开头的地址,确保用户访问的是安全的HTTPS链接。
下载证书->上传证书->配置web服务器,3步可以搞定SSL证书安装使用,最后别忘了配置完成后测试一下是否成功,是不是很简单?
在其他的WEB服务器中安装配置的步骤与此类似,不过配置web服务器与Nginx服务器中不同
本文为远怀学堂原创,觉得有用,有价值就收藏、转发吧,同时记得关注「远怀学堂」,我们专注于「原创·精品」的IT技术教程,图文 & 视频。