Конфигурация Apache «Требовать все отказано» - по-прежнему отображается HTML - PullRequest
0 голосов
/ 27 августа 2018

У меня есть приложение rails, которое использует Apache в качестве веб-сервера. Я хочу, чтобы он был настроен так, чтобы только хост-домен и частные 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-адресов независимо от строки Require ip.

Проблема в том, что я не получаю отказ в доступе по частному IP после удаления строки Require. Я все еще могу видеть HTML-код сайта. Css и javascript больше не загружаются, однако я ожидаю, что ничего не загрузится вообще. Я ожидаю увидеть страницу с ошибкой браузера.

Я еще не пробовал это в работе, но общая цель - получить доступ к сайту только по имени хоста sitename.com. У меня также настроены различные перенаправления, например http -> https, и sitename.com будет перенаправлять на www.sitename.com.

Мне кажется, что эта конфигурация должна быть простой линией, которую я пропускаю, кто-нибудь знает, почему я все еще могу получить доступ к сайту на основе IP, даже если у меня только следующий набор?

Require all denied
Require host sitename.com
...