红联Linux门户
Linux帮助

通用Linux Apache Web环境配置SSL证书方法整理

发布时间:2017-12-22 11:50:59来源:laozuo作者:老左
分享下常规我们设定Linux Apache下修改证书配置SSL的方法。
 
第一、准备工作
1、备份很重要
如果我们确实不够熟悉,我们还是需要先备份好系统环境或者网站数据,确保系统万一搞坏掉,还可以恢复数据。或者我们可以先在类似的测试环境中测试,熟练工后在到生产环境操作。
2、申请SSL证书
这里我们无论申请免费证书,还是付费证书,我们一般会申请到一个SSL证书包,其中包括有Apache、Nginx等几个环境的证书。这里我们肯定只需要用到Apache环境的证书,里面有3个文件(2个.crt和1个.key文件)。
3、证书上传
将三个证书文件上传到我们对应的管理目录中,这里我们放到apache/conf/ssl目录中。
 
第二、修改配置文件
httpd.conf
我们需要修改这个配置文件,将两处文件前面的#去掉。
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
后面如果我们有出现shmcb报错问题,可以参考"解决"SSLSessionCache: 'shmcb' session cache not supported"问题"文章(http://www.linuxdiyf.com/linux/33030.html),然后将"LoadModule socache_shmcb_module modules/mod_socache_shmcb.so"前面的#备注表示去掉掉。
通用Linux Apache Web环境配置SSL证书方法整理
 
第三、添加证书配置
extra/httpd-ssl.conf
这里我们需要httpd-ssl.conf文件中配置证书了。
VirtualHost _default_:443
找到这个脚本位置,直接下面添加
DocumentRoot "/www/wwwroot/www.laobuluo.com"
ServerName www.laobuluo.com:443
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile /www/server/apache/conf/ssl/laobuluo.com.crt
SSLCertificateKeyFile /www/server/apache/conf/ssl/laobuluo.com.key
SSLCertificateChainFile /www/server/apache/conf/ssl/laobuluo.com_bundle.crt
参考类似的,然后将我们服务器中站点对应的目录和证书目录替换成我们自己的文件。一共有三个证书文件。
通用Linux Apache Web环境配置SSL证书方法整理
同时,我们需要将下面几处"SSLCertificateFile"、"SSLCertificateKeyFile"前面本来固定的证书路径前面备注加上#,因为我们上面都加上了。
 
第四、重启Apache生效
service httpd restart
这个具体还需要看我们系统重启命令,有的不是这样的。重启之后检查是否生效。且默认http不自动跳转到https,我们需要在当前站点的.htaccess中设定。
 
附:Apache修改.htaccess文件实现强制HTTPS地址访问
需要用到Apache实现HTTPS强制跳转,相对设置比Nginx还要简单一点,直接修改对应网站根目录的.htaccess配置伪静态文件就可以。
第一、根目录域名
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.我们的域名.com/$1 [R,L]
第二、子目录
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} 子目录文件夹
RewriteRule ^(.*)$ https://www.我们的域名.com/子目录文件夹 [R,L]
根据我们实际的站点域名来设定添加到当前站点根目录的.htaccess文件即可生效。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/33031.html