ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在Apache服务器上安装SSL证书并配置http跳转https教程

2020-03-14 18:01:27  阅读:256  来源: 互联网

标签:httpd http https name1 服务器上安装 ssl conf 跳转 mod


具体参考:阿里云教程

此文为落坑总结

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

标签:httpd,http,https,name1,服务器上安装,ssl,conf,跳转,mod
来源: https://blog.csdn.net/ixx_0/article/details/104863371

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有