Apache配置“需要全部拒绝”-仍呈现HTML

时间:2018-08-27 16:45:33

标签: ruby-on-rails apache ip webserver

我有一个使用Apache作为Web服务器的Rails应用程序。我希望对其进行配置,以便仅主机域和专用IP可以访问该站点。使用Apache 2.4和Require做一些测试时,我设置了以下内容:

ServerName www.sitename.com
ServerAlias sitename.com
DocumentRoot /u/apps/core/current/public
<Directory "/u/apps/core/current/public">
  Options FollowSymLinks
  AllowOverride None
  Require all denied
  Require host sitename.com
  Require ip 10.255
</Directory>

使用此设置,我可以通过专用IP访问该站点,并且一切似乎都正常。我想测试所有其他IP是否都将被阻止,所以我删除了该行

Require ip 10.255

在这一点上,我希望在使用私有IP时被拒绝访问该站点,这就是我希望该功能适用​​于所有公共IP的功能,而与“需要ip”行无关。

问题是删除Require行后,我没有被拒绝访问私有IP。我仍然可以看到该站点的HTML。 CSS和javascript不再加载,但是我希望什么都没有加载。我希望看到浏览器错误页面。

我尚未在生产环境中尝试此操作,但是总体目标是只能通过主机名sitename.com访问该站点,我还配置了各种重定向,例如http-> https,sitename.com将进行重定向前往www.sitename.com。

我觉得此配置必须是我所忽略的一条简单的线,有人知道为什么即使我只有以下设置,我仍然可以基于IP访问该站点?

Require all denied
Require host sitename.com

0 个答案:

没有答案