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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

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

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
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

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

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

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

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

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

Онлайн AnrDaemon

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

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

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

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

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

Онлайн AnrDaemon

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

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

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

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

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

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
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

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

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

 

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