CentOS 6.5 64位下配置Apache的虚拟主机的SSL支持的实现流程

1、SSl证书安装环境简介:

操作系统: CentOS 6.5 64位

Apache2.2.15

沃通免费ssl证书

2、网络环境要求

http://api.ygt.cm 可以通过外网正常访问

3、获取SSl证书

成功在沃通申请证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到五个文件,如图0:
for Apache、for IIS、for Nginx、for Other Server、for Tomcat,
这个是证书的几种格式,Apache上需要用到for Apache格式的证书。如图1

图1:这个是证书的几种格式,Apache上需要用到for Apache格式的证书

4、解压证书文件

解压for Apache文件可以看到3个文件。包括公钥、私钥、证书链,如图2

图2:解压for Apache文件可以看到3个文件。包括公钥、私钥、证书链

5、找到apache安装目录下conf.d目录中的ssl.conf文件,若没有,则apache没有编译SSL模块,需要重新安装mos_ssl。

6、运行:yum install mod_sll,如图3

图3:运行:yum install mod_sll

7、通过FTP上传3个文件至api.ygt.cm目录下,如图4.0

图4.0:通过FTP上传3个文件至api.ygt.cm目录下

7.1、复制3个文件至/etc/httpd/的相应目录下,如图5

图5:复制3个文件至/etc/httpd/的相应目录下

7.2、打开apache安装目录下conf.d目录中的ssl.conf文件

在配置文件中查找以下配置语句:

修改加密协议如下,如图4

SSLProtocol all -SSLv2 -SSLv3

图4:SSLProtocol all -SSLv2 -SSLv3

7.3、将服务器证书公钥配置到该路径下,如图6

SSLCertificateFile /etc/httpd/conf/ssl.crt/api.ygt.cm.crt 证书公钥

图6:证书公钥

7.4、将服务器证书私钥配置到该路径下

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/api.ygt.cm.key 证书私钥

7.5、将服务器证书链配置到该路径下

SSLCertificateChainFile /etc/httpd/conf/ssl.crt/api.ygt.cm.root_bundle.crt 证书链

7.6、编辑/ect/httpd/conf.d/ssl.conf,在虚拟主机中,如图7

先是注释掉之间的所有配置

# <VirtualHost _default_:443>
# </VirtualHost>

图7:注释掉VirtualHost之间的所有配置

7.7、配置虚拟主机,基于原来的默认虚拟主机配置进行相应设置,如图7.1

图7.1:配置虚拟主机,基于原来的默认虚拟主机配置进行相应设置

8、service httpd restart,重启Apache服务器

9、重启报错:

Starting httpd: httpd: Could not reliably determine the server’s fully qualified domain name, using 10.171.221.184 for ServerName
如图8

图8:重启报错:Starting httpd: httpd: Could not reliably determine the server’s fully qualified domain name

10、编辑httpd.conf文件,如图9

查找#ServerName www.example.com:80 修改为:ServerName www.ygt.cm:80

图9:查找#ServerName www.example.com:80 修改为:ServerName www.ygt.cm:80

11、重启重启Apache服务器,Starting httpd: httpd: Could not reliably determine the server’s fully qualified domain name, using 10.171.221.184 for ServerName 错误消失;
如图9.1

图9.1:using 10.171.221.184 for ServerName 错误消失

12、还有此项错误:

[Mon Aug 31 15:15:25 2015] [warn] VirtualHost 121.40.99.104:443 overlaps with VirtualHost 121.40.99.104:443, the first has precedence, perhaps you need a NameVirtualHost directive

如图10

图10:the first has precedence, perhaps you need a NameVirtualHost directive

13、编辑/etc/httpd/httpd.conf

NameVirtualHost 服务器公网IP:80

图10.1:NameVirtualHost 服务器公网IP:80

14、重启Apache,未报错,如图11

图11:重启Apache,未报错

15、查看网页,发现接口网址已经支持https,如图12、12.1

图12:查看SSL证书信息

图12.1:证书查看器,SSL客户端证书

永夜