Apache openssl配置安装,https服务器架设,问题总结,opensslhttps


 

最近几天完成了多级证书签发,架设https服务器导入证书等工作,证书的签发相对简单。相关程序的配置安装却花了好一番功夫。这次作业具体过程我就不赘述了,主要说说自己过程中遇到的一些问题和解决的方式,以及仍旧未解决的问题。

 

多级证书签发基本和二级证书签发过程一样,只需把此前用自签证书签发的二级证书当作新的签发证书签发下级证书,可是需要注意几点是

1.默认生成的二级证书是不具有向下签发的能力的,如图

CA显示FALSE,解决的方法是,签发的时候加上一句-extensions v3_ca,表示生成V3版本的证书,这样就可以继续向下签发证书。

     2.证书申请中填的hostname要和网站的域名一样,不然最后配好后会报     证书不符的错如图:

      这一部分是我做的最久的,我觉得最复杂的部分,一开始我只是简单的yum install 了httpd,但是发现根本不能用,没有mod,也缺少相关的关联程序,后来通过网上查询,用压缩包解压./configure,make,make install安装,安装中出现的主要问题就是安完apache了,还是老缺少相关的文件。

     困扰我时间最长的就是编译好apache以后,编译好ssl.conf文件,httpd的service总是不能启动,说配置文件有错误,如下

后来发现是ssl的mod没有编译上,后来用apxs命令单独添加sslmod也不行

后来查了好久发现少一个openssl-devel组件,安上以后就能载入ssl-mod,也能够正常配置ssl

安装apache的时候遇到的最后一个问题就是下面这样:

这个问题最后也没有真正解决,我是换了一个版本的apache重新安装才好。

安装好后,正确配置了httpd.conf和httpd-ssl.conf文件,httpd服务就可以启动了。

签发好证书后,我把根证书和其他二级证书安装在相应的位置,却发现网站仍然不安全,如图

我看了一下证书,发现前几级证书都没问题了,就最后一个证书不安全有问题,

我开始以为可能是我签发的级别太多了,或许协议不支持这么多级别的签发认证,可是我重新做了一个三级的证书,添加信任后还是有问题,后来我发现两个问题,也是三个我现在还有疑问的问题。

问题一:简单的看了一下后,就发现我有个问题,我网站的域名和证书签发许可的hostname不符,所以浏览器显示会不安全,但是我发现Windows里的hosts文件,不能改成形如 xxxxx.xxx的形式,如图

在hosts文件里改了域名,但是打开浏览器输入却出现DNS的报错,文件里改了保存了却不能生效。但是当我把hosts文件里的域名改成xxxxxx形式的时候,却不会出现这个问题,比如之前图上的BenBenBen域名,虽然证书有错,但是域名和ip是可以映射上的。但是我hosts文件里改成www.luyimingistheman.com后,就显示DNS错误了,很奇怪,至今也没搞明白,没解决这个问题,只是有签发了新的证书许可,hostname是XXXXXX,不带.com的形式。

 

问题二:域名和hostname对应了以后,证书还是有问题,chrome浏览器里没有详细报错,我放在IE里看,发现如下错误:

其实之前看证书,证书里也写了,我没注意。但是这是我刚刚签发的证书呀,为什么会过期或者没到有效期?我点开details一项,

如图,当时时间是2:16pm,为什么我的证书要晚上八点五十才能生效?回头看了一眼我创建证书的细节,如图

发现有效期是GMT时间,有一点明白问题的端倪了,但是又有点更不明白,为什么我在东八区创建一个证书,证书却要走GMT时间?但是不管什么时间,证书都应该以我所在时区为准呀。对时间有点不明白了。

 

PS.这个问题第二天来就解决了

现在是北京时间7月23日下午2:50PM

在虚拟机里看时间,却是如上的时间,CST不知道是代表美国中部时间还是澳大利亚时间,还是代表中国标准时间,又看了一下时区

可以看到就是东八区中国时间,但是虚拟机的时间比真实时间快了7小时,这就是问题所在了,其实就是时间调错了。

问题三:第二天来,所有问题都解决了后,用IE登陆网站就没问题了,https的web服务器架设成功!

有个小锁,点击会出现如下信息

但是用chrome登陆,就还是会显示不安全,

这是最后一个疑问,但是证书都没问题了,谷歌浏览器和ie用的因该是一个证书信任的库,为什么chrome还是会提示不可信

错误提示是NET::ERR_CERT_COMMON_NAME_INVALID,的那是我的hostname和subject明明是一致的,进一步看chrome的安全性息,我发现如下内容:

看来问题还挺多的,但是还是不明白在生成证书的时候可以添加Subject Alternative Name吗?而且我的subject和域名确实是对应的,还是不理解。

相关内容

    暂无相关文章