【发布时间】:2015-11-29 21:25:40
【问题描述】:
好的 - 所以我有一个开发人员不希望我们的 REST 端点可以从外部访问,唯一允许的访问是 localhost 和内部网络方案。我们的内网方案是10.10.x.x.
我们这样做的方式是使用 .conf 文件中的
<LocationMatch "/foo/bar/*">
Order deny,allow
Deny from all
Allow from 10.10
Allow from 127
</LocationMatch>
现在,我们面临的挑战是 AWS 负载均衡器上有一个 X-Forward-Host 规则,因此所有原始源 IP 以及如果我从 10 开始允许 - 显然,将允许从外部访问所有端点,因为这个。
如前所述,我们的内部 IP 是 10.10,所以我可以从 10.10 开始允许,这会解决它,但如果我创建更多区域,那么网络方案可能是 10.20.x。 10.30.x.x 10.40.x.x 然后它就变成了一场管理噩梦。
所以,有人提到在 http.conf 级别做某事是有意义的:
<Directory />
#Example..
SetEnvIF X-Forwarded-For "(,| |^)192\.168\.1\.1(,| |$)" DenyIP
SetEnvIF X-Forwarded-For "(,| |^)10\.1\.1\.1(,| |$)" DenyIP
Order allow,deny
Deny from env=DenyIP
Allow from all
</Directory>
所以,我不确定如何遵循这种格式并确保它拒绝这些目录的所有外部 IP。
http.conf 文件是否会有类似的内容:
<VirtualHost>
#Example..
SetEnvIF X-Forwarded-For "(,| |^)*\.*\.*\.*(,| |$)" DenyIP
</VirtualHost>
和我的其他具有
<LocationMatch "/foo/bar/*">
Order deny,allow
Deny from env=DenyIP
Allow from 10.
Allow from 127
</LocationMatch>
感谢您的帮助!
【问题讨论】:
-
我们是否应该从中了解到您的 API 不是在它们自己的服务器上,而是在服务器(和 ELB)上,而这些服务器也提供应该可以公开访问的内容?
标签: apache amazon-web-services load-balancing httpd.conf blacklist