1,yum 安装openssl和openssl-devel,httpd-devel
2,生成证书(也可以从公司的证书颁发机构获取):
#建立服务器密钥
openssl genrsa -des3 1024 > /opt/apache/conf/server.key
# 从密钥中删除密码(可不做,只是后续操作要输密码)
openssl rsa -in /opt/apache/conf/server.key > /opt/apache/conf/server2.key
mv /opt/apache/conf/server2.key /opt/apache/conf/server.key
#建立服务器密钥请求文件
openssl req -new -key /opt/apache/conf/server.key -out /opt/apache/conf/server.csr
#建立服务器证书
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
修改允许访问
<Directory />
AllowOverride all
Require all granted
</Directory>
4,修改加密文件ssl.conf,通过yum安装好的httpd,在conf.d目录下面有ssl.conf配置文件,我们需要在里面配置一个VirtualHost和配置证书和密钥:
<VirtualHost *:443>
DocumentRoot "/opt/apache/htdocssl"
ServerName www.guangsoft.org
ServerAdmin [email protected]
SSLCertificateFile "/opt/apache/conf/server.crt"
SSLCertificateKeyFile "/opt/apache/conf/server.key"
</VirtualHost>
5,启动apahce验证,输入https://172.16.0.50 或 172.16.0.50:443(ip为试验机ip)能访问即可(注意打开服务器443端口的防火墙)