Рейтинг:0

Настройка виртуальных хостов; Нужно просто разрешить один IP-адрес для доступа к веб-сайту и запретить все. Что не так с приведенным ниже кодом?

флаг cn
<VirtualHost *:80>
    ServerAdmin example.com
    DocumentRoot "C:/xampp/htdocs/example.com"
    ServerName www.example.com
    ServerAlias example.com
    ErrorLog "logs/example.com-error.log"
    CustomLog "logs/example.com-access.log" common


  
     <Directory "C:/xampp/htdocs/example.com">
    
            Options All -Indexes 
            AllowOverride All



 <RequireAll>
    
    Require all denied
    Require ip 49.204.11.24
    
    </RequireAll>
            

    </Directory>
   </VirtualHost>
Рейтинг:0
флаг us

Предполагая, что вы используете Apache 2.4, ваш синтаксис правильный. Просто проверьте загруженные модули и убедитесь, что вы загрузили authz_core модуль.

Чтобы проверить, загружен ли модуль, используйте:

apache2ctl -M

Поскольку я предполагаю, что на этом веб-сервере могут быть другие веб-сайты, которые могут быть необходимы для просмотра другими, поэтому лучше применять это ограничение на уровне виртуальных хостов, а не глобально.

<VirtualHost *:80>
        
        ServerName www.example.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

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

        <Location />
        Require ip 172.20.131.34
        </Location>
</VirtualHost>

Таким образом, в приведенной выше конфигурации только 172.20.131.34 в качестве исходного IP-адреса может просматривать мою страницу, а другие получат сообщение «Запрещено» при доступе к странице.

Naresh avatar
флаг cn
Да, я использую Apache 2.4. Спасибо за помощь!
Naresh avatar
флаг cn
Да, при проверке файла конфигурации (httpd.conf) предлагается загрузить модуль authz_core. Однако приведенный выше код не работает должным образом.
Naresh avatar
флаг cn
Приведенный выше код запрещает все IP-адреса, включая разрешенный.
Naresh avatar
флаг cn
И загруженные модули также были проверены, набрав команду «httpd -M» в оболочке xampp, в ней был указан модуль с именем «authz_core_module». Я не могу найти, что не так с приведенным выше кодом.
Zareh Kasparian avatar
флаг us
@Naresh проверьте конфигурацию, добавленную в раздел «Ответ».
Naresh avatar
флаг cn
Я использую xampp в Windows 10; и команда, которая работала для извлечения загруженных модулей, была следующей => «httpd -M». Это неправильно?? Но он извлек загруженные модули. И я пытаюсь применить свою конфигурацию внутри директивы каталога для каталога веб-сайта, который заключен в его путь, внутри его открывающего тега; Я не применял эту конфигурацию глобально. Большое спасибо @Zareh Kasparian

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.