Apache配置SSL

来源:互联网 发布:淘宝秒杀是不是真的 编辑:程序博客网 时间:2024/06/15 19:57

1:配置Apache以支持SSl
打开Apache的配置文件conf/httpd.conf,去掉下面两行前面的#

LoadModule ssl_module modules/mod_ssl.so
Include con/extra/httpd-ssl.conf

修改httpd-ssl.conf文件的下面两个字段
SSLCertificateFile “/usr/local/apache2/conf/server.crt”
SSLCertificateKeyFile “/usr/local/apache2/conf/server.key”

2:为网站服务器生成证书及私钥文件
#生成服务器的私钥
openssl genrsa -out server.key 1024
#生成签署申请

openssl req -new -out server.csr -key server.key -config /etc/pki/tls/openssl.cnf 

3:通过CA为网站服务器签署证书

#生成CA私钥

openssl genrsa -out ca.key 1024

#利用CA的私钥产生CA的自签署证书

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -config /etc/pki/tls/openssl.cnf 

#注意Common Name为服务器域名,

#CA为网站服务器签署证书

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config /etc/pki/tls/openssl.cnf 

这时会出现下面的错误

Using configuration from /etc/pki/tls/openssl.cnf

/etc/pki/CA/index.txt: No such file or directory

unable to open '/etc/pki/CA/index.txt'

140131066963784:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('/etc/pki/CA/index.txt','r')

140131066963784:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:

提示缺少文件,那我们就生成一个空文件

touch /etc/pki/CA/index.txt

继续执行

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config /etc/pki/tls/openssl.cnf 

又出现/etc/pki/CA/serial相关的错误,

还是缺少文件,这里生成一个内容为01的文件

echo ’01’ > /etc/pki/CA/serial

再执行

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config /etc/pki/tls/openssl.cnf

就没有问题了

4:将这两个server.crt,server.key放在apache的conf文件夹,重启Apache


5:修改httpd-vhost.conf以支持https访问方式,端口号443

<VirtualHost *:443>

        ServerAdmin devel@localhost

        ServerName 10.14.2.217

        ProxyPass /hw/ ajp://10.14.2.217:8009/hw/

        ProxyPassReverse /hw/ ajp://10.14.2.217:8009/hw/

        ProxyPass /public_files/ ajp://10.14.2.217:8009/public_files/

        ProxyPassReverse /public_files/ ajp://10.14.2.217:8009/public_files/

        <Location /home/devel/tomcat/webapps/public_files>

                Order allow,deny

                Allow from all

        </Location>

        SSLEngine on

        SSLCertificateKeyFile /usr/local/apache2/conf/server.key

        SSLCertificateFile /usr/local/apache2/conf/server.crt

        ErrorLog logs/217-error.log

        CustomLog logs/217-access.log common

</VirtualHost>


当然可以加一个用http访问的项目,端口号80





0 0
原创粉丝点击