具体apache服务器的搭建过程我前面的博客中已经有提到过,这里不再重复了,下面只列出ssl相关配置的部分:

配置HTTPS,yum install mod_ssl,ssl会话的建立是基于IP地址的,如果一台主机上面有多个虚拟主机只能为其中一个主机提供SSL的功能,
默认情况是是为默认的虚拟主机提供ssl功能
1、首先自己建立一个CA
  cd /etc/pki/CA
  openssl genrsa 2048 > private/cakey.pem
  chmod 600 private/cakey.pem
  然后给CA自己制作一个证书
  vi /etc/pki/tls/openssl.cnf
  找到[CA_defualt]把下面的目录改为:
  dir = /etc/pki/CA改成绝对路径
  openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
  这个cacert.pem是给客户端使用的用来验证此CA办法的其他证书,下载在windows下面更名
  cacert.crt可以导入浏览器
2、给http服务颁发证书
  cd /etc/pki/CA
  mkdri certs crl newcerts
  touch serial index.txt
  echo 01 > serial
  cd /etc/httpd
  mkdir ssl用来存放证书,cd ssl
  自己生成一个证书
  openssl genrsa 2048 > httpd.key
  chmod 600 httpd.key
  向CA生成一个证书办法请求
  openssl req -new -key httpd.key -out httpd.csr
  为此httpd服务器颁发证书
  openssl ca -in httpd.csr -out httpd.crt -days 3650 此时httpd.csr文件就没用了,可以删除
3、修改配置文件,让httpd启用ssl
  vi /etc/httpd/conf.d/ssl.conf这个文件是安装mod_ssl时候自动生成的
  找到<VirtualHost _default_:443>修改你需要为哪台主机提供ssl功能,主机名称,以及网页根目录
  找到SSLCertificateFile,指定httpd.crt证书文件的存放路径
  找到SSLCertificateKeyFile,指定httpd.key密钥文件的存放路径
  找到SSLCACertificateFile,指定CA证书的存放路径
  其他配置参数
  SSLVerifyClient require 如果启用则客户端必须有证书才能访问该web服务器
 
好了完了测试一下会发现,和该web站点的所有会话都是通过ssl来加密的。