apache2.4配置ssl

1,yum 安装openssl和openssl-devel,httpd-devel
2,生成证书(也可以从公司的证书颁发机构获取):

1 #建立服务器密钥 
2 openssl genrsa -des3 1024 > /opt/apache/conf/server.key 
3 # 从密钥中删除密码(可不做,只是后续操作要输密码) 
4 openssl rsa -in /opt/apache/conf/server.key > /opt/apache/conf/server2.key 
5 mv /opt/apache/conf/server2.key /opt/apache/conf/server.key
6 #建立服务器密钥请求文件 
7 openssl req -new -key /opt/apache/conf/server.key -out /opt/apache/conf/server.csr
8 #建立服务器证书
9 openssl x509 -in /opt/apache/conf/server.csr -out /opt/apache/conf/server.crt -req -signkey /opt/apache/conf/server.key -days 365

3,修改Apache的配置文件httpd.conf
打开ssl模块,没有这个模块就需要安装依赖包:mod_ssl,安装后就会在modules里面找到:
LoadModule ssl_module modules/mod_ssl.so(在httpd-ssl.conf第一行添加)
引入ssl配置文件,增加支持ssl:
Include conf/extra/httpd-ssl.conf(去掉行首的注释)
启动重定向(可选),使用用户HTTP访问自动重定向为HTTPS,直接在http.conf最后配置即可,在httpd.conf文件尾加入如下内容:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
放开这一行的注释
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
修改允许访问

1 <Directory />
2   AllowOverride all
3   Require all granted
4 </Directory>

4,修改加密文件ssl.conf,通过yum安装好的httpd,在conf.d目录下面有ssl.conf配置文件,我们需要在里面配置一个VirtualHost和配置证书和密钥:

1 <VirtualHost *:443>
2   DocumentRoot "/opt/apache/htdocssl"
3   ServerName www.guangsoft.org
4   ServerAdmin guanghe@guanghsoft.com
5   SSLCertificateFile "/opt/apache/conf/server.crt"
6   SSLCertificateKeyFile "/opt/apache/conf/server.key"
7 </VirtualHost>

5,启动apahce验证,输入https://172.16.0.50 或 172.16.0.50:443(ip为试验机ip)能访问即可(注意打开服务器443端口的防火墙)
6,如果需要配合tomcat协同处理请求,那么可将https虚拟主机反向代理向http主机发起请求。
vim httpd.conf去掉以下两行的注释(开启反向代理)
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
vim httpd-ssl.conf 中配置反向代理

1 <VirtualHost *:443>
2   ProxyPass / http://127.0.0.1/
3 </VirtualHost *:443>
posted @ 2018-03-07 15:22  光何  阅读(496)  评论(0编辑  收藏  举报