首先确认下载到的Apache支持SSL。如果是window版本,在apache bin目录下能看到openssl.exe。如果是Linux,在/etc/httpd/conf.d目录下可见到ssl.conf,如果没有,执行
yum -y install mod_ssl
命令安装。
然后在httpd.confg文件打开LoadModule ssl_module modules/mod_ssl.so,即去掉该行前的注释。打开Include conf/extra/httpd-ssl.conf。Linux下不用执行。
ssl.conf配置参考如下:
NameVirtualHost *:443
<VirtualHost *:443>
ServerName www.nowfox.com
ProxyPass / http://127.0.0.1:8000/www/
ProxyPassReverse / http://127.0.0.1:8000/www/
ProxyPassReverseCookiePath /www /
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile E:/cert/www/public.pem
# 证书私钥配置
SSLCertificateKeyFile E:/cert/www/www.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile E:/cert/www/chain.pem
</VirtualHost>
<VirtualHost *:443>
ServerName login.nowfox.com
ProxyPass / http://127.0.0.1:8000/login/ ProxyPassReverse / http://127.0.0.1:8000/login/
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile E:/cert/login/public.pem
# 证书私钥配置
SSLCertificateKeyFile E:/cert/login/login.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile E:/cert/login/chain.pem
</VirtualHost>
如果Apache在启动过程中报错,windows下可到 计算机管理->系统工具->事件查看器->windows 日志->应用程序 进行查看,根据日志进行对应的修改。
常见问题:
1、The Apache service named reported the following error:
>>> SSLSessionCache: Invalid argument: size has to be >= 8192 bytes
在64位windows下安装32位Apache时,如果httpd-ssl.conf里的SSLSessionCache目录有空格,会出此问题,修改为一个无空格目录。
2、(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:443
(1)端口被占用,找到对应的进行并结束。
(2)Linux下查看,无进程占用443端口,确认/etc/httpd/conf.d下只有一个ssl.conf,无其他SSL配置、备份文件,如果有,apache会都载入,造成冲突。原因是http.conf中
IncludeOptional conf.d/*.conf