Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Apache 2.4: Require all denied не работает  (Прочитано 4179 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Вадимка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Apache 2.4: Require all denied не работает
« : 19 Июля 2016, 17:26:43 »
Выключил модуль access_compat и заменил директивы Order на Require чтобы соответствовать новым требованиям Apache 2.4.

Всё работает как надо, но когда на одном вирт.сервере настроил "Require all denied", то ничего не срабатывает, все могут смотреть сайт. Также не работает Require ip.

apache2.config:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options FollowSymLinks Includes
        AllowOverride None
        Require all granted
</Directory>

Virtual host file:

DocumentRoot /var/www/my.site
ServerName my.site

    <Directory />
        Require all denied

        AddType application/x-httpd-php .html .php

        DirectoryIndex index.html index.php
    </Directory>

Прочитал всю документацию Apache по "Require", перепробовал все, что мог придумать. Такой проблемы ни у кого нет, кроме меня. Order работает, Require - нет.

Прошу помощи.

Apache version: Apache/2.4.7 (Ubuntu)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Re: Apache 2.4: Require all denied не работает
« Ответ #1 : 19 Июля 2016, 17:53:51 »
Как настроили, так и работает.
Зачем в httpd.conf лезли?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Вадимка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Apache 2.4: Require all denied не работает
« Ответ #2 : 19 Июля 2016, 17:58:02 »
Как настроили, так и работает.
Зачем в httpd.conf лезли?

Затем, чтобы работали SSI.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Re: Apache 2.4: Require all denied не работает
« Ответ #3 : 19 Июля 2016, 17:58:39 »
Ответ неверный.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Вадимка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Apache 2.4: Require all denied не работает
« Ответ #4 : 19 Июля 2016, 19:37:09 »
Ответ неверный.

Восстановил исходный файл apache2.conf - изменений нет. Будьте добры, подскажите, на что вы намекаете?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Re: Apache 2.4: Require all denied не работает
« Ответ #5 : 19 Июля 2016, 21:00:55 »
Чтобы работали SSI, надо в конфиг хоста заинклюдить нужный кусок из conf-available/
Колбасить дефолтные правила доступа для этого совершенно ненужно.

Показывайте релевантные конфиги полностью и конкретно указывайте, что именно не работает так, как хотелось бы.

Про спойлеры не забывайте.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Вадимка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Apache 2.4: Require all denied не работает
« Ответ #6 : 21 Августа 2016, 08:42:53 »
Для теста установил в виртуалке Ubuntu Server 16.04.1, создал файл /etc/apache2/sites-available/test.conf:
<VirtualHost *:80>
    DocumentRoot /var/www/test
    ServerName test.local

<Directory />
Require all denied
                DirectoryIndex index.html
</Directory>
</VirtualHost>
Делаю a2ensite test, перезагружаю apache, открываю http://test.local и всё открывается, а не должно. Ничего не понимаю, чистая же система! Я уже в отчаянии, куда копать?

Пользователь добавил сообщение 21 Августа 2016, 09:34:06:
Нет слов. Нашёл в чём дело. По умолчанию в Ubuntu 14.04-16.04 (в т.ч. Server) в apache2.conf стоит
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

а Require в VirtualHost у меня работает только когда без / в конце:

<Directory /var/www>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
« Последнее редактирование: 21 Августа 2016, 09:34:06 от Вадимка »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Re: Apache 2.4: Require all denied не работает
« Ответ #7 : 22 Августа 2016, 22:16:30 »
А почему у вас два сайта в одном каталоге?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.031 секунд. Запросов: 25.