apache2 - Как разрешить незашифрованный доступ только к локальной сети?

apache2 - Как разрешить незашифрованный доступ только к локальной сети?

У меня есть сервер Linux в локальной сети с несколькими запущенными службами. Я хочу иметь возможность доступа к этому серверу по имени моего домена с шифрованием, но оставляя доступ по локальной сети свободным. Я пробовал искать его, но ничего не выдал. Создание другого VirtualHostсервера с внутренним IP-адресом позволило внешней сети подключаться без шифрования.

Кстати, можно ли на том же основании отказать в доступе к каталогу?

Редактировать: Я думаю, я просто зашифрую все и не буду заморачиваться с тем, чтобы сделать это доступным по IP.

решение1

Я разобрался. Я просто не перенаправил порт 80 на роутере и отключил перенаправление http на https на сервере.

решение2

Вы можете использовать команды управления доступом Apache mod_authz_core— это основной модуль, и вам не нужно устанавливать или включать что-либо специальное.

Смотрите обучающую программу здесь:https://httpd.apache.org/docs/2.4/howto/access.html

Чтобы использовать его, настройте его в <VirtualHost>разделе <Directory>- эта инструкция должна быть установлена ​​в разделе , <Directory>поэтому у вас должен быть <Directory>раздел в вашем, <VirtualHost>даже если вы планируете использовать обработку каталогов по умолчанию, настроенную в другом месте:

<VirtualHost *:80>
    DocumentRoot "/some/docroot"
    ServerName my.domain.com

    <Directory "/some/docroot">
        <RequireAll>
            Require ip 192.168.1.0/24
        </RequireAll>
    </Directory>
</VirtualHost>

Это приведет к тому, что все вызовы на порт 80 из-за пределов вашей локальной сети (здесь представлен как 192.168.1.0/24 — измените в соответствии с вашим фактическим адресом локальной сети) будут получать ответ 403 Forbidden.

Связанный контент