Apache https配置步骤


1、 确认是否安装ssl模块

是否有mod_ssl.so文件

2、 生成证书和密钥

linux下

步骤1:生成密钥

命令:openssl genrsa 2048 > server.key

说明:这是用128位rsa算法生成密钥,得到server.key文件

步骤2: 生成证书请求文件

命令:openssl req -new -key server.key > server.csr

说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入

步骤3: 生成证书

命令:openssl req -x509 -days 3650 -key server.key -in server.csr > server.crt

说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天

window下

步骤1:生成密钥
命令:openssl genrsa 2048 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件

步骤2: 生成证书请求文件
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入

步骤3: 生成证书
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天

把得到的server.key和server.crt文件拷贝到apache的对应目录

3、 配置apache

LoadModule ssl_module /opt/taobao/install/httpd/modules/mod_ssl.so

l 修改httpd-ssl.conf文件

注意在此文件中配置证书和密钥

SSLCertificateFile /apache/conf/server.crt

SSLCertificateKeyFile /apache/conf/server.key

虚拟机设置

NameVirtualHost *:443

<VirtualHost *:443>

ServerName xxxx.com
Proxypass / ajp://x.x.x.x:8080/
ProxypassReverse / ajp://x.x.x.x:8080/
ErrorLog "logs/443-error_log"
CustomLog "logs/443-access_log" common
SSLEngine on
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"

</VirtualHost>

配置http 跳转 https ,修改httpd.conf文件

<VirtualHost *:80>

    ServerName xxxx.com
    Redirect permanent / https://xxxx.com/ 
    ErrorLog "logs/xxx-error_log"
    CustomLog "logs/xxxx-access_log" common

</VirtualHost>

4、 重新启动apache

用https方式访问,查看是否生效.