惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
MyScale Blog
MyScale Blog
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
Recent Announcements
Recent Announcements
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More

秋水逸冰

丽萨主机:双ISP家宽住宅IP VPS/CN2 GIA精品网/G口大带宽 | 秋水逸冰 Linux Kernel 6.18.x 编译版 | 秋水逸冰 思考未来人与 AI 的关系 | 秋水逸冰 3X-UI 面板安装和使用教程 | 秋水逸冰 Xray-UI 面板安装和使用教程 | 秋水逸冰 WCMP (Windows + Caddy + MariaDB + PHP) Nginx for Windows | 秋水逸冰 Aria2 for Windows | 秋水逸冰 Curl for Windows | 秋水逸冰 Wget for Windows | 秋水逸冰 Windows 11 Enterprise LTSC DD 镜像 Windows Server 2025 Datacenter DD 镜像 重新编译 curl 以支持 HTTP3 | 秋水逸冰 tiny10 和 tiny11 23H2 的 Windows DD 镜像 从 Apache httpd 切换到 Caddy2 LCMP (Linux + Caddy + MariaDB + PHP) Windows 11 Pro for Workstations 22H2 DD 镜像 Shadowsocks 编译版 by Teddysun | 秋水逸冰 适用于 UEFI 启动的多个 Windows 系统 DD 镜像 Linux Kernel 5.15.x 编译版 | 秋水逸冰 制作适用于 WSL 的任意 Linux 镜像 Windows 11 Pro for Workstations 21H2 DD 镜像 Windows 10 Enterprise LTSC DD 镜像 Linux Kernel 5.14.x 编译版 | 秋水逸冰 Linux Kernel 5.13.x 编译版 | 秋水逸冰 Windows Server 2022 Datacenter DD 镜像 在 Windows 10 上安装 Rocky Linux 系统 Linux Kernel 5.12.x 编译版 | 秋水逸冰 Linux Kernel 5.11.x 编译版 | 秋水逸冰 在 Windows 10 上安装 CentOS 系统
让Apache禁止IP直接访问的方法 | 秋水逸冰
秋水逸冰 · 2013-04-26 · via 秋水逸冰

技术 秋水逸冰 30640浏览 6评论

Apache

  今天看到这样的一个例子,VPS的IP被人恶意绑定,流量被劫持到别的域名,从而遭到广告联盟的封杀。原理是什么呢?简单解释就是,你的网站可以通过IP直接访问,本来这没什么问题,但是如果被人恶意用别的域名解析到你的IP的话,那么你的网站就能通过别人的域名来访问了。广告联盟肯定也是跟域名绑定的,被人这么一搞,时间一长肯定会被发现域名不符,于是就整个杯具了。
  如何发现IP被恶意绑定呢?利用站长工具,同IP网站查询:http://tool.chinaz.com/Same/
  如何解决这个问题?让人只能通过域名来访问网站,而不能通过IP来直接访问。

  方法一、修改Apache配置文件httpd.conf

  如果你的Apache开通了虚拟主机,则需要修改conf/extra/httpd-vhosts.conf文件。如何判断Apache是否开通了虚拟主机,在配置文件httpd.conf中搜索,若有类似如下的选项的,则开启了虚拟主机。#为注释。

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

  若是开通了虚拟主机,则需要在httpd-vhosts.conf中修改配置如下;若没有开通虚拟主机,则可以直接在httpd.conf文件最后面,加入以下代码:

NameVirtualHost XXX.XXX.XXX.XXX
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  XXX.XXX.XXX.XXX
<Directory />
Order Allow,Deny
Deny from all
</Directory>
</virtualhost>
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  yourdomain.com
DocumentRoot  /var/www/
</virtualhost>

  其中XXX.XXX.XXX.XXX为你的IP地址,第一处virtualhost配置为拒绝IP的任何访问请求,返回403错误。第二处的virtualhost配置为允许通过yourdomain.com这个域名访问,网站主目录为/var/www/(假设这是你的网站主目录)

  方法二、利用Apache的Rewrite和PHP实现400错误

  新建一个虚拟主机配置,将来自IP的访问Rewrite到一个自定义的PHP页面。

ServerName  XXX.XXX.XXX.XXX
DocumentRoot /var/www/error/
RewriteEngine On
RewriteRule  ^.*  /400.php

  其中XXX.XXX.XXX.XXX为你的IP地址,网站主目录为/var/www/error/

  编辑文件/var/www/error/400.php,内容如下:

<?php
header(“HTTP/1.1 400 Bad Request”);  
?>
<h1>Bad Request</h1>

  这样以来,即可实现直接用IP访问返回400错误了。

  修改完成之后,务必要重新加载Apache配置,命令如下:

service httpd reload

  参考链接:
  http://www.cnblogs.com/zhuangge/archive/2011/04/13/2014892.html
  http://zhangxugg-163-com.iteye.com/blog/1639001

转载请注明:秋水逸冰 » 让Apache禁止IP直接访问的方法