具体参考:阿里云教程
此文为落坑总结
1、在修改httpd.conf配置文件部分,需进行以下设置
#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。如果找不到该配置,请重新编译mod_ssl模块。
#Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so #删除行首的配置语句注释符号“#”
多了第三条的解注释,不开放此语句时,运行apache会报错
AH00526: Syntax error on line 92 of
/usr/local/apache/conf/extra/httpd-ssl.conf: SSLSessionCache: ‘shmcb’
session cache not supported (known names: ). Maybe you need to load
the appropriate socache module (mod_socache_shmcb?).
2、 修改httpd-ssl.conf配置文件部分,添加以下操作
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。
DocumentRoot 设置为网站根目录
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。
SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。
SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost>
添加了documentRoot部分的说明
3、重启Apache服务器使SSL配置生效我使用的命令是
service httpd restart
4、设置HTTP请求自动跳转HTTPS部分原文方法行不通,我使用的是以下方法
1)在httpd.conf文件里使下面模块生效
LoadModule rewrite_module modules/mod_rewrite.so #打开这个模块功能
2)httpd.conf配置文件找到你网站目录的段,修改其中的 AllowOverride None 为 AllowOverride All;
DocumentRoot "/data/vhosts"
<Directory "/data/vhosts">
Options FollowSymLinks MultiViews Includes
AllowOverride All
Require all granted
</Directory>
保存并重启apache服务
3)在你的网站根目录下面添加该文件".htaccess"目录访问控制文件,并添加如下内容:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
含义是这样的:为了让用户访问传统的http://转到https://上来,用了一下rewrite规则:
第一句:启动rewrite引擎
第二句:rewrite的条件是访问的服务器端口不是443端口
第四句:这是正则表达式,整句的意思是讲:启动rewrite模块,将所有访问非443端口的域名请求,url地址内容不变,将http://变成https://。
注意:在你网站目录下放一个.htaccess文件。注意:windows环境下,不能把文件直接改名为.htaccess,会提示你必须输入文件名。所以我们先新建一个“新建文本文档.txt”文档,再用记事本打开,选择另存为,保存类型选择“所有文件(.)”,文件名输入“.htaccess”,保存。这样便生成了一个.htaccess文件。
大功告成!
参考:
https://help.aliyun.com/document_detail/98727.html?spm=5176.2020520163.0.0.614d56a7JW7D2K
https://www.cnblogs.com/Crazy-Liu/p/11115681.html
https://blog.csdn.net/zhwxl_zyx/article/details/88338183