关于Apache HTTPS证书配置相关说明(双向验证)

作为笔记供以后查阅。

环境:CentOS7, Apache/2.4.6

要配置Apache启用Https服务,需要配置/etc/httpd/conf.d/ssl.conf

摘录部分内容,加以说明:
####################################################
Listen 8888 https #监听8888端口,即别人访问你的网址:https://x.x.x.x:8888

#配置虚拟主机

# General setup for the virtual host, inherited from global configuration
DocumentRoot "/var/www/html/public"  #index.html或index.php所在目录


# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log    #定义访问该端口的log存储位置
TransferLog logs/ssl_access_log

#以下为证书相关:
#公钥(自己的,对外公开)
SSLCertificateFile /etc/pki/tls/certs/ca.crt

#私钥(自己的,不公开)
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

#受信任列表,用于验证对端,通常用于服务器之间的通信
SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt

#如果需要验证对端的证书,通常用于服务器之间的通信
SSLVerifyClient require
SSLVerifyDepth  10

####################################################

关于https通信的双向认证的几点说明:
1. 关于自己的公私钥。

   其生成可以参考http://www.cnblogs.com/best-jobs/p/3298258.html (2、生成证书和密钥)
   公钥:即是别人打开你的Https网页后,可以看到的证书。生成的为自签名证书,由于非正式授权因此会显示错误,但可以用。
   例如:用IE打开https网站
   
   将自己的公钥添加到对端服务器的受信任列表中来保证发往对方的数据会被正常接收
2. 关于验证对端
   如果需要验证对端发送消息携带的证书,需要打开上述功能。
   前提是需要把对端的.pem格式证书添加到受信任列表中(具体.cer到.pem的转换可自行百度)。
   cat aaaa.pem >> /etc/pki/tls/certs/ca-bundle.crt
   这样,对端发送过来的数据,系统会自动验证其合法性。不合法的拒收。
   注意:该验证通常用于服务器之间。如果https网页用于普通用户访问,打开该验证会导致网页访问不了。
   

修改完成重启apache

service httpd restart 或 httpd -k restart

 

你可能感兴趣的:(个人经验,apache,HTTPS,CA证书,双向验证,公私钥)