Назад | Перейти на главную страницу

Разрешить доступ к серверу Apache только с одного IP-адреса

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

Это все содержимое /etc/apache2/sites-available/000-default.conf:

    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html

            <Directory /var/www/html>
                    Order allow,deny
                    Deny from all
                    Allow from my.ip.add.res
            </Directory>

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

Однако, когда я его тестирую, я получаю 403 отовсюду, включая разрешенный IP-адрес «my.ip.add.res».

Я потратил довольно много времени на поиск в Google, но насколько я могу судить, это должно работать отлично. Не уверен, почему это не так. Я упускаю что-то очевидное?

Если вы используете Apache 2.4, убедитесь, что вы ЗАГРУЖАЕТЕ authz_core модуль,

УДАЛИТЬ:

Order allow,deny
Deny from all
Allow from my.ip.add.res

и вместо удаленных директив

ВСТАВИТЬ:

Require ip xxx.xxx.xxx.xxx

Если вы используете Apache 2.2, убедитесь, что вы ЗАГРУЖАЕТЕ authz_host модуль,

УДАЛИТЬ:

Order allow,deny
Deny from all
Allow from my.ip.add.res

и вместо удаленных директив

ВСТАВИТЬ:

Order Deny,Allow
Deny from all
Allow from xxx.xxx.xxx.xxx