You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache:如何在.htaccess中为REMOTE_HOST设置访问例外?

.htaccess 配置:排除特定主机/IP的拦截规则

在现有拦截规则前添加反向匹配条件,先放行目标主机/IP,再执行恶意访客拦截,具体配置如下:

方案1:仅排除指定主机

如果yyy是固定值,使用精确匹配:

# 放行目标主机
RewriteCond %{REMOTE_HOST} !^sta\.106\.51\.64\.yyy\.client\.server\.de$ [NC]
# 拦截恶意主机列表
RewriteCond %{REMOTE_HOST} (sta\.81\.106\.9\.x\.client\.server\.de) [NC,OR]
RewriteCond %{REMOTE_HOST} (sta\.83\.94\.46\.xx\.client\.server\.de) [NC,OR]
RewriteCond %{REMOTE_HOST} (sta\.106\.51\.63\.xxx\.client\.server\.de) [NC,OR]
# ... 更多恶意主机规则 ...
RewriteRule .* - [F,L]

如果yyy是可变的(比如任意子段),调整正则匹配所有sta.106.51.64.*.client.server.de格式的主机:

RewriteCond %{REMOTE_HOST} !^sta\.106\.51\.64\.[^.]+\.client\.server\.de$ [NC]

方案2:同时排除主机和对应IP(更稳妥)

考虑到REMOTE_HOST依赖DNS解析可能存在异常,可同时放行对应的IP:

# 放行目标主机
RewriteCond %{REMOTE_HOST} !^sta\.106\.51\.64\.yyy\.client\.server\.de$ [NC]
# 放行对应IP
RewriteCond %{REMOTE_ADDR} !^88\.198\.yy\.zzz$
# 拦截恶意主机列表
RewriteCond %{REMOTE_HOST} (sta\.81\.106\.9\.x\.client\.server\.de) [NC,OR]
RewriteCond %{REMOTE_HOST} (sta\.83\.94\.46\.xx\.client\.server\.de) [NC,OR]
RewriteCond %{REMOTE_HOST} (sta\.106\.51\.63\.xxx\.client\.server\.de) [NC,OR]
# ... 更多恶意主机规则 ...
RewriteRule .* - [F,L]

关键说明

  • ! 表示反向匹配:只有当请求的主机/IP不满足该条件时,才会进入后续拦截规则
  • ^ 和 $ 确保完全匹配,避免因部分匹配导致误放行或误拦截
  • 排除条件必须放在所有拦截规则的最前面,保证允许的请求直接跳过拦截逻辑

内容的提问来源于stack exchange,提问作者josefus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:24:27