首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >阻塞匹配HTTP_X_FORWARDED_SERVER报头的请求

阻塞匹配HTTP_X_FORWARDED_SERVER报头的请求
EN

Server Fault用户
提问于 2015-06-02 16:30:52
回答 1查看 1.2K关注 0票数 1

有人设置了一个CDN服务器,它将流量定向到我的服务器,并将主机头设置为与我的一个实际域相匹配。因此,Apache使用虚拟主机作为我的真实域名,而不是CDN域的主机名。

例如,URL是:

代码语言:javascript
复制
http://cdn.example.com/pictures/www.mydomain.com/images/product/6a/229326.jpg

这个CDN似乎是一个正在覆盖主机头的代理。Apache将主机视为www.mydomain.com而不是cdn.example.com。

我想阻止这个流量,但是我不能通过主机或IP阻止(因为它改变了)。有一个主机头:

代码语言:javascript
复制
HTTP_X_FORWARDED_HOST=cdn.example.com

有可能吗?

编辑:没有安装mod_security

EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-06-02 16:50:16

您可以使用mod_rewrite来完成此任务:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Host} cdn.example.com
RewriteRule .* - [F]

如您所见,如果使用curl进行测试,则拒绝访问:

代码语言:javascript
复制
[root@RPX conf]# curl -i -H "X-Forwarded-Host: cdn.example.com" http://localhost:80/algo/
HTTP/1.1 403 Forbidden
Date: Tue, 02 Jun 2015 16:49:37 GMT
Server: Apache
Content-Length: 207
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /algo/
on this server.</p>
</body></html>
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/696141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档