首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >精简繁琐的Apache“允许从”指令

精简繁琐的Apache“允许从”指令
EN

Server Fault用户
提问于 2013-07-22 16:36:40
回答 3查看 77关注 0票数 0
代码语言:javascript
复制
<Proxy *>
Order deny,allow
Deny from all
Allow from cdn1.domain.com cdn2.domain.com cdn3.domain.com cdn4.domain.com cdn5.domain.com
</Proxy>

其实比那要长得多。是否可能以某种方式使用regex?我在运行2.2

EN

回答 3

Server Fault用户

回答已采纳

发布于 2013-07-22 16:50:35

如果您可以允许domain.com中的所有主机,那么它非常简单:

代码语言:javascript
复制
Allow from .domain.com

如果您只需要允许那些cdn*主机,那么您就倒霉了-- regex在Allow中不受支持,其他访问控制机制也无法执行必要的反向DNS查找(比如mod_rewrite或带有Allow from env=SetEnvIf )。

正如EightBitTony在评论中提到的,您需要使用其他一些条件来控制访问-- IP范围将是最好的。

编辑:实际上,mod_rewrite可能能够使用REMOTE_HOST变量。也许可以试试这样的东西?不确定它是否执行反向查找和正向查找来确认,因此安全性可能不那么可靠。

代码语言:javascript
复制
RewriteCond %{REMOTE_HOST} ^cdn\d+\.domain\.com$
RewriteRule ^ - [E:CDNALLOW]
Allow from env=CDNALLOW
票数 3
EN

Server Fault用户

发布于 2013-07-22 16:49:29

允许指令的文档非常好,它说允许将接受部分名称

代码语言:javascript
复制
Allow from domain.com 

只要您不介意domain.com的其他部分访问代理,就会稍微简化它,对于主机的正向/反向DNS查找也有一些注意事项。

如果cdn机器共享子网或部分子网,那么您也可以使用它做一些事情。

票数 4
EN

Server Fault用户

发布于 2013-07-22 16:50:37

1)如果domain.com下的任何内容都是可以的,您可以使用一个引导点(即,.domain.com )

2)您可以填充一个环境变量,并具有Apache引用。

代码语言:javascript
复制
allow from env=allowed_cdn_hosts
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/525353

复制
相关文章

相似问题

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