apache配置,禁止ip访问web站点
由于一台服务器上面部署了好几个应用,对应不同的域名,如果用户知道ip地址的话,直接用户ip地址访问,会显示第一个虚拟主机的页面(更改了虚拟主机的顺序,每次都是显示第一个)。这样对用户造成不好的印象,所以要禁止ip访问。
方法一:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
ServerName 221.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "/www/web"
ServerName www.phpzixue.cn
</VirtualHost>
说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就 是允许通过www.phpzixue.cn这个域名访问,主目录指向/www/web(这里假设你的网站的根目录是/www/web)。
此方法,我配置后导致整个服务器的访问都报443没有权限,但是把ip的虚拟主机配置到最下面就没有问题,不清楚问什么会这样。
方法二:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
DocumentRoot "/www/test"
ServerName 221.*.*.*
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "/www/web"
ServerName www.phpzixue.cn
</VirtualHost>
说明:蓝色部分是把通过221.*.*.*这个IP直接访问的请求指向/www/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。红色部分的意思跟方法一是一样的。
这种方法能给用户一个提示,用户体验度会好点。
注:修改后需要重启apache
方法一:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
ServerName 221.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "/www/web"
ServerName www.phpzixue.cn
</VirtualHost>
说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就 是允许通过www.phpzixue.cn这个域名访问,主目录指向/www/web(这里假设你的网站的根目录是/www/web)。
此方法,我配置后导致整个服务器的访问都报443没有权限,但是把ip的虚拟主机配置到最下面就没有问题,不清楚问什么会这样。
方法二:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
DocumentRoot "/www/test"
ServerName 221.*.*.*
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "/www/web"
ServerName www.phpzixue.cn
</VirtualHost>
说明:蓝色部分是把通过221.*.*.*这个IP直接访问的请求指向/www/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。红色部分的意思跟方法一是一样的。
这种方法能给用户一个提示,用户体验度会好点。
注:修改后需要重启apache
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现