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

如何通过.htaccess阻止含compute.amazonaws.com的请求(Apache 2.4)

解决Apache 2.4阻止AWS垃圾机器人请求的方案

你之前的规则无效是因为Apache 2.4已废弃Order/Deny/Allow这类旧指令,改用Require指令体系实现访问控制。针对你的需求,提供两种可行方案:

方案一:通过环境变量匹配拦截

利用SetEnvIf匹配主机名并标记,再通过Require拒绝标记的请求:

# 匹配以compute.amazonaws.com结尾的远程主机名,设置环境变量block_aws
SetEnvIf Remote_Host "compute\.amazonaws\.com$" block_aws
# 默认允许所有请求
Require all granted
# 拒绝带有block_aws环境变量的请求
Require not env block_aws

注:正则里的.需要转义(\.),否则会匹配任意字符;$确保匹配域名结尾,避免误拦截包含该字符串的其他主机。

方案二:直接通过Require not host拦截

更简洁的写法,直接匹配所有compute.amazonaws.com的子域名:

# 默认允许所有请求
Require all granted
# 拒绝所有*.compute.amazonaws.com的主机请求
Require not host *.compute.amazonaws.com

重要注意事项

  • 确保Apache启用了mod_setenvif和mod_authz_core模块,可通过命令apache2ctl -M(Linux)或httpd -M(Windows)查看模块列表,确认这两个模块存在。
  • 若使用.htaccess文件,需在Apache主配置的对应目录块中设置AllowOverride All(或至少AllowOverride AuthConfig FileInfo),否则.htaccess规则不会生效。
  • 测试时可通过curl模拟请求验证,例如:
    curl --resolve ec2-47-128-60-90.ap-southeast-1.compute.amazonaws.com:80:你的服务器IP http://ec2-47-128-60-90.ap-southeast-1.compute.amazonaws.com
    
    若返回403 Forbidden则说明规则生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 07:45:59