网站切换为https访问,并将http重定向https
Apache2.4.6 +PHP
一、生成证书
生成忽略。
我这边有三个文件:

将.key上传到: /etc/pki/tls/private/
将chain.crt上传到: /etc/pki/tls/private/
将public.crt上传到: /etc/pki/tls/certs/
二、修改ssl配置文件
路径: /etc/httpd/conf.d/ssl.conf
如果没有这个文件请安装一下:yum install mod_ssl openssl
1、去掉#号,将三个文件上传到对应目录,并在ssl.conf下配置好。

2、创建虚拟主机,使用跳转功能和使用443端口访问
最好配置一下error_log有报错可以输出
按照我如下部分配置即可

三、修改Apache配置文件
/etc/httpd/conf/httpd.conf
1、添加LoadModule ssl_module modules/mod_ssl.so模块,如果配置文件有,去掉#号
LoadModule ssl_module modules/mod_ssl.so
2、引入SSL配置文件,就是步骤2配置的
Include conf.d/ssl.conf
3、定义重定向,就是http访问也会自动跳转到https
直接在http.conf最后配置即可,在httpd.conf文件尾加入如下内容:可直接复制
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
四、重启httpd服务
systemctl restart httpd
五、配置过程中出现的问题
粗心很导致很多问题,按照如上步骤一步步检查就不会有很大的问题
1、 ssl.conf下面证书的路径放错了 ,有一个放重复了,导致httpd无法启动
Fatal error initialising mod_ssl, exiting. See /etc/httpd/logs/ssl_error_log for more information
suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
Fatal error initialising mod_ssl, exiting. See /etc/httpd/logs/ssl_error_log for more information

2、去httpd.conf配置文件将DefaultType注释掉,这是针对HTTP的,具体原因也不清楚哈哈哈哈
Ignoring deprecated use of DefaultType in line 124 of /etc/httpd/conf/httpd.conf.
一般按照如上的步骤是不会有问题的,如果这篇文章能帮助正在发愁的你,请点赞笔芯收藏吧,谢谢!
本文档介绍了如何在Apache2.4.6环境中配置HTTPS并实现http到https的自动重定向。首先,需要生成SSL证书并上传到相应目录,然后修改ssl.conf配置文件引入证书。接着,在httpd.conf中启用SSL模块,引入ssl.conf,并设置重定向规则。最后,重启httpd服务。在配置过程中,需注意避免证书路径错误和配置文件的默认设置问题,例如DefaultType的注释。按照步骤操作,可以顺利解决网站安全访问问题。

2341

被折叠的 条评论
为什么被折叠?



