Система обеспечивает универсальный доступ к php-приложению owncloud. То есть доступ предоставляется серверам в сети. В качестве теста «Требовать все отклонено» доступ не контролировался.
Что отсутствует в этой конфигурации для ограничения доступа к хосту сервера?
Требуются ли изменения конфигурации и в hpptd.conf? Это проблема owncloud.conf или httpd.conf? Участвует ли php.conf в этих симптомах?
Fedora 21
Файл /etc/httpd/conf.d/owncloud.conf:
<VirtualHost *:443>
ServerName owncloud
ServerAlias owncloud
DocumentRoot /var/www/html/owncloud
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/owncloud.pem
SSLCertificateKeyFile /etc/httpd/ssl/owncloud.key
<Directory /var/www/http/owncloud>
Options +Indexes +FollowSymLinks
AllowOverride All
Require local
<IfModule mod_php5.c>
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 512M
php_value mbstring.func_overload 0
</IfModule>
<IfModule pagespeed_module>
</IfModule>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
RewriteRule ^\.well-known/carddav /remote.php/carddav/ [R]
RewriteRule ^\.well-known/caldav /remote.php/caldav/ [R]
</Directory>
</VirtualHost>
Если ваш сервер разрешает трафик, несмотря на то, что Require local
и особенно Require all denied
, то это проблема apache / httpd. Это либо переопределение (например, .htaccess), либо загружается другой файл конфигурации. Apache будет применять списки доступа в соответствии с наиболее конкретный каталог в списке. Пример: / var / www / http / owncloud установлен в Require local
, если для / var / www / http / owncloud / theRealServerRoot установлено значение Require all granted
, тогда всем будет разрешено все, что находится в 'theRealServerRoot', хотя им запрещен доступ к родительскому каталогу. Возможно, вы это уже знаете, но на всякий случай. Кроме того, если два файла конфигурации ссылаются на один и тот же каталог с помощью <directory>
оператор, какой бы файл конфигурации ни был загружен последний будет применяться. Загрузка обычно выполняется в алфавитном порядке. Если у вас есть файл security.conf, определяющий альтернативный Require
операторы для / var / www / http / owncloud, тогда они будут использоваться вместо того, что находится в owncloud.conf.
1) Можете ли вы дважды проверить, что owncloud не воссоздает файлы .htaccess, как только вы их переименовываете?
2) Какие еще файлы находятся в каталоге conf.d? Не могли бы вы проверить, действуют ли они в каталоге?
3) Кроме того, опубликованный вами файл предназначен для https; Вы проверяете доступ по адресу https: //, верно? Потому что, скорее всего, для URL http: // существует другой набор правил.
4) Наконец, что маловероятно, вы используете обратный прокси или балансировщик нагрузки? Оба они изменяют IP-адрес, который будет видеть apache / httpd, и вызовут ту же проблему, если он будет работать на том же сервере (хотя он все равно будет заблокирован, когда вы укажете в Require all denied
линия).