У меня есть веб-страница на сервере Linux, который я администрирую, на котором работает Apache 2.2. Этот сервер виден внешнему миру для некоторых других служб.
Я хотел бы настроить Apache таким образом, чтобы данный виртуальный хост был виден только изнутри локальной сети, чтобы я мог развернуть веб-приложение для получения отзывов от других людей в моей организации. Я считаю, что это связано с директивой Allow, но мои эксперименты идут не очень хорошо.
Как я могу изменить свой конфигурационный файл для достижения этого? Должен ли я также изменить конфигурацию брандмауэра?
Ответы:
Легко. Просто установите что-то вроде этого в вашей основной конфигурации или в вашей виртуальной конфигурации:
В
<Directory></Directory>
основном это утверждение гласит: «Используйте эти правила для всего в этом каталоге. И под «этим каталогом», который относится к тому,/var/www/path/to/your/web/documents
который я установил в этом примере, но его следует изменить, чтобы он соответствовал пути к локальному каталогу вашего сайта.Далее в
<Directory></Directory>
области вы изменяете поведение Apache по умолчанию, котороеAllow
по умолчанию всеOrder Deny,Allow
. Далее, вы установилиDeny from all
из запрета доступа от всех. Follwing - этоAllow from
операторы, которые разрешают доступ с127.0.0.1 ::1
(локальный IP-адрес),localhost
(сам локальный хост ). Это все стандартные вещи. Поскольку доступ изlocalhost
необходим для многих внутренних системных процессов.Далее следует то, что важно для вас.
Параметр
Allow from
for,192.168
а также10
разрешит доступ с любых / всех сетевых адресов в пределах диапазона сети, к которому добавляются эти номера.Таким образом, указав,
192.168
что в основном означает, что у пользователя есть такой адрес,192.168.59.27
или192.168.1.123
он сможет видеть веб-сайт.И точно так же , используя
Allow from
для10
префикса уверяет , что если кто - то имеет IP - адрес10.0.1.2
или даже10.90.2.3
они смогут увидеть содержимое.Практически все внутренние сети в мире используют
192.168
диапазон или что-то в этом10
диапазоне. Ничего внешнего. Таким образом, использование этой комбинации позволит достичь цели по блокированию доступа к внешнему миру, но разрешит доступ только из вашей локальной сети.источник
Satisfy Any
предполагается делать в этом случае? Я ничего не знаю обо всем этом, но когда он присутствовал в моем сценарии, я мог получить доступ к странице (я использовал<Location /path>
) из внешней сети. Однако, сняв его, я решил свои проблемы. Было бы неплохо понять, почему это так, поскольку меня немного беспокоило то, что я смогу получить доступ к странице даже при установленных правилах.Люди, приземляющиеся в этом ответе, обратите внимание, что это специфично для Apache 2.2.
Apache 2.4 устарел эти директивы.
Новый способ - использование модуля
mod_authz_host
иRequire
директив. ( ссылка )В Apache 2.4 вы должны сделать
и удалите все разрешающие директивы.
источник
Добавьте этот раздел в директиву вашего виртуального хоста:
Замените свой IP выше. Это не должно использоваться для обеспечения финансового уровня, к вашему сведению.
источник
Я не знаю, как у вас настроена ваша сеть, однако я предполагаю кое-что, чтобы попытаться сделать лучший ответ.
Предположим, у вас есть небольшой офис с DSL-соединением. У вас будет статический общедоступный IP-адрес или блок адресов, назначенных вашей линии, модем DSL и брандмауэр. Не вдаваясь в детали того, как это происходит, я перейду к важной части.
Вы должны использовать NAT (трансляция сетевых адресов). Это позволяет общедоступным IP-адресам находиться на стороне WAN (Интернет) вашей сети и использовать частные IP-адреса (например, 10.0.0.100) в сети на стороне LAN. Это стандартная процедура работы. Если вы размещаете веб-сервер в своей сети, то вы будете использовать переадресацию портов или другой аналогичный механизм) для направления любого веб-трафика на ваш веб-сервер.
В этом стандартном сценарии все ваши внутренние компьютеры будут использовать частные IP-адреса.
Предполагая, что у вас есть аналогичные стандартные настройки сети, вы изменили бы IP-адрес вашего компьютера с общедоступного IP-адреса на частный IP-адрес. Ваша сеть может иметь настройку DHCP, где ваш компьютер может запросить доступный IP-адрес. Это означает, что вместо указания IP-адреса вы выбираете использовать DHCP, и IP-адрес будет назначен. Если DHCP недоступен, вам придется проверить на некоторых других компьютерах частное пространство IP-адресов, которое можно использовать, и выбрать IP-адрес в пространстве, которое не используется. Вы можете указать этот неиспользуемый IP-адрес в настройках сети. Это должно помешать вашей системе быть замеченной в Интернете.
источник