前几篇博客分别实现了nginx的http访问和apache的https加密连接,那么现在就将它们组合在一起,实现基于nginx的https加密连接。
一、环境准备
这次我还是准备了两个虚拟机和一台真实计算机,其中一台IP为172.16.128.7的主机作为服务器,安装nginx软件提供https服务,另外一台IP为172.16.128.8的主机作为CA,进行证书验证,最后的真实计算机用来测试https是否配置成功。
二、安装nginx
参考:http://11142243.blog.51cto.com/11132243/1972367
不过这里只是为了验证https的功能,所以下面简易的创建一个网页出来:
上传并编译nginx:
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/A7/4B/wKioL1nklzzDiaHeAAA1q85SUQQ419.png-wh_500x0-wm_3-wmp_4-s_1678542484.png" title="TIM截图20171016193606.png" alt="wKioL1nklzzDiaHeAAA1q85SUQQ419.png-wh_50" />
安装完成之后直接使用“nginx”命令运行nginx服务,之后,我们就可以在真实计算机上通过浏览器访问“172.16.128.7”,得到以下画面(这是nginx的自带页面,在“/local/nginx/html/”里边):
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/08/9C/wKiom1nkoiKSrnpZAABuMl5ICYg177.png-wh_500x0-wm_3-wmp_4-s_2144801562.png" title="TIM截图20171016201158.png" alt="wKiom1nkoiKSrnpZAABuMl5ICYg177.png-wh_50" />
三、制作认证
参考:http://11142243.blog.51cto.com/11132243/1972413
进入目录“cd /etc/pki/CA”然后执行如图命令(在172.16.128.8(CA)上):
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/A7/58/wKioL1nlhgyjg4w8AAEEN9dXAZ8248.png-wh_500x0-wm_3-wmp_4-s_233643361.png" title="TIM截图20171017123522.png" alt="wKioL1nlhgyjg4w8AAEEN9dXAZ8248.png-wh_50" />
回到“172.16.128.7”(服务器)上,执行如图操作:
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/08/A9/wKiom1nliNLBwCrUAADlDbP_IzI134.png-wh_500x0-wm_3-wmp_4-s_693088810.png" title="TIM截图20171017123419.png" alt="wKiom1nliNLBwCrUAADlDbP_IzI134.png-wh_50" />
四、更改nginx的ssl配置
使用下面的命令更改nginx的配置文件:
~]# vim /etc/nginx/nginx.conf
在监听端口的位置上加上两行内容,如图所示:
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/08/A9/wKiom1nli87ytIXQAACE6zV3aFs690.png-wh_500x0-wm_3-wmp_4-s_3444115805.png" title="TIM截图20171017124731.png" style="float:none;" alt="wKiom1nli87ytIXQAACE6zV3aFs690.png-wh_50" />650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/A7/58/wKioL1nliRiDyfKvAACNnnAx0go929.png-wh_500x0-wm_3-wmp_4-s_3072674158.png" title="TIM截图20171017124654.png" style="float:none;" alt="wKioL1nliRiDyfKvAACNnnAx0go929.png-wh_50" />
内容如下:
listen 443 ssl; #在这里加上ssl,或者再加一行“ssl on;”效果一样,这样是简写 ssl_certificate /usr/local/nginx/ssl/myweb.test.com.crt; #这两个目录的路径是保存私钥和CA验证之后返回的证书的目录 ssl_certificate_key /usr/local/nginx/ssl/nginx.key;
更改完配置之后保存退出,并重新加载配置文件之后,在真实主机的浏览器中打开,就可以看到下面这个页面了:
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/08/A9/wKiom1nli87hWnTsAADTH8IRLtY470.png-wh_500x0-wm_3-wmp_4-s_1502501745.png" style="float:none;" title="TIM截图20171017124623.png" alt="wKiom1nli87hWnTsAADTH8IRLtY470.png-wh_50" />
基于nginx建立CA实现https加密连接
原文地址:http://11142243.blog.51cto.com/11132243/1973196