apache添加虚拟主机后导致旁站访问出现403问题分析
来源:互联网 发布:网络高峰期 编辑:程序博客网 时间:2024/04/25 20:48
需要了解的概念
- 1、apache是怎么处理请求的?(这里主要说明开启VirtualHost后的处理流程)
- Apache 在接受到请求时,会将配置文件中出现的第一个VirtualHost作为默认的,然后再找匹配的,如果没有匹配到,就使用默认的虚拟主机配置文件
- 2、apache配置文件加载顺序
- 1、如果没有打开Include语句,则是按照顺序,从上到下加载,如果出现相同的配置那么后面的就覆盖前面的
- 2、有些顺序是固定的和位置无关,如下,从上到下,优先级从高到低
- <Directory>
- <DirectoryMatch>
- <Files> & >FilesMatch>
- <Location> & >LocationMatch>
- 3、什么是旁站
- 简单的说就是你通过一个域名或者是ip访问到一个网站后,该网站的主机下还有其它域名的网站,即可以通过另外一个域名或者ip访问到同样的主机
问题描述
前些天写了个添加子域名自动部署的脚本,主要功能就有两个
- 1、生成子域名的虚拟主机配置文件然后上传到服务器中,
- 2、 创建该虚拟主机所涉及到的目录
假定原来网站为xxx.com,那么在我添加新的子域名虚拟主机配置文件后,则会导致xxx.com访问出现403
这里需要说一下,我们网站访问的流程是 xxx.com 会跳转到 www.xxx.com 然后再跳转到 https://www.xxx.com,最后到实际服务器
排查过程
- 线下搭建一套同样的测试环境
- 由于根据报错发现是apache给的,所以就直接从前端跳过了,直接从apache入手
- 把添加的子域名配置文件直接写在httpd.conf中则就没有问题,而直接写在conf.d下面旁站访问就会出现403
- 查看httpd.conf配置文件发现有两个问题
- 1、没有对应www.xxx.com的虚拟主机
- 2、虚拟主机都写在httpd.conf中
- 上面第2点和我们的问题不相干,但是第1条就存在问题,之所以原来访问不会出问题,www.xxx.com没有匹配到时,xxx.com总是作为默认的域名,所以不会出错
- 好了,知道也问题所在,再新建一个www.xxx.com的虚拟主机,或者在原来的xxx.com做一个别名到www.xxx.com
- 测试一把,没有问题,好了,终于可以舒口气了,感觉全世界都清静了
结论
原理性的东西一定要时刻都清楚,比如apache加载配置文件的顺序、默认虚拟主机充当的角色,常用配置的含义
阅读全文
0 0
- apache添加虚拟主机后导致旁站访问出现403问题分析
- Apache配置虚拟主机后,不能访问localhost的问题
- Apache配置虚拟主机后,不能访问localhost的问题
- wampserver2.5 解决访问新添加的虚拟主机出现403问题
- apache开启虚拟主机VHOST后 localhost无法访问,出现Forbidden 403
- wamp安装后,apache访问出现403
- apache 添加虚拟主机
- mac apache 添加虚拟主机
- Django部署到Apache后出现的访问失败的问题
- 不能访问虚拟主机的apache
- apache配置虚拟主机,为什么总是第一个VirtualHost起效 apache基于域名虚拟主机,只访问第一个的问题
- 关于apache配置虚拟主机后仍打开默认Apache目录的问题
- 关于apache配置虚拟主机后仍打开默认Apache目录的问题
- Apache修改DocumentRoot后访问页面出现403错误的解决办法
- 升级到yosemite后Apache下/~username/访问出现forbidden
- iframe加载顺序导致数据访问出现问题
- 运行ldconfig后,导致Gnome出现的问题
- Apache虚拟主机VirtualHost的目录访问权限
- 地理商业智能发展浅析
- 一个基本的工作场景
- 队、栈实现纸牌游戏—C—python
- ftrl算法
- HashMap相关知识点
- apache添加虚拟主机后导致旁站访问出现403问题分析
- git 常用命令
- Android wifi开发流程总结(1)
- HDU-1231 最大连续子序列
- php 的数据类型
- C语言实现数据保护算法(2)——AES加解密
- 大话设计模式之四:1~5章(简单工厂模式 、策略模式、单一职责原则、开放封闭原则 、依赖倒转原则)
- hadoop streaming 学习笔记
- codeforces849C