httpd 2.4 возвращает запрещенное сообщение при использовании псевдонима

615
JaikGeorge

Как часть отображения файла журнала в реальном времени, мне удалось настроить и развернуть сервер httpd на fedora 19. Для доступа к файлам журнала, которые находятся вне папки www, я создал псевдонимы, так что когда тест добавляется к адресу, папка test в псевдониме называется. Я следовал официальному руководству, и псевдонимы были правильно настроены, насколько мне известно.

Когда я пытаюсь получить доступ к файлу вне папки www, браузер возвращает

Error Message

Я сделал две папки с именем testvar внутри и снаружи www для тестирования. Если псевдоним ссылается на папку testvar внутри www, содержимое доставляется, но не в том случае, если оно ссылается на внешнюю папку. Я надеюсь, что это объясняет, что синтаксис не содержит ошибок, и что это какая-то ошибка разрешения.

Текущая конфигурация (httpd.conf)

ServerRoot "/etc/httpd" Listen 80 Include conf.modules.d/*.conf`  User apache Group apache  ServerAdmin root@localhost  <Directory /> AllowOverride none Require local Require all granted </Directory>  DocumentRoot "/var/www/html"  <Directory "/var/www"> AllowOverride None Require local Require all granted </Directory>  <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Require local Require all granted </Directory>  <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>  <Files ".ht*"> Require all denied </Files>  ErrorLog "logs/error_log"  LogLevel warn  <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%i\" \"%i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%i\" \"%i\" %I %O" combinedio </IfModule> CustomLog "logs/access_log" combined </IfModule>  <IfModule alias_module> Alias /test "/var/testvar" Alias /test2 "/var/www/testvar" ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" </IfModule>  <Directory "/var/testvar"> AllowOverride None Options All Require local Require all granted </Directory>  <Directory "/var/www/testvar"> AllowOverride None Options All Require local Require all granted </Directory>  <Directory "/var/www/cgi-bin"> AllowOverride None Options None Require local Require all granted </Directory>  <IfModule mime_module> TypesConfig /etc/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule>  AddDefaultCharset UTF-8  <IfModule mime_magic_module> MIMEMagicFile conf/magic </IfModule>  EnableSendfile on  IncludeOptional conf.d/*.conf 

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

1
Вы действительно перезапустили веб-сервис Apache, чтобы изменения вступили в силу? Кроме того, являются ли папки с псевдонимами (`/ var / testvar` и` / var / www / testvar`) доступными для чтения пользователю, использующему службу Apache? А что произойдет, если вы перейдете к `/ test` в веб-браузере без косой черты? Посмотрите на свои псевдонимы; у них нет косой черты, но ваша ошибка - `/ test /`. Держу пари, что это может быть проблемой [как объяснено в руководстве] (https://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias) `Alias` очень буквально. JakeGould 7 лет назад 0
Каждый раз, когда в файл конфигурации вносятся изменения, служба перезапускается, чтобы убедиться, что она перезагружается. Даже если я не добавляю косую черту в URL, она автоматически исправляется в / test /, в обоих браузерах, которые я использовал для проверки этого. Я уже попробовал все возможные комбинации добавления и удаления завершающего слеша как в файле конфигурации, так и в URL, но безрезультатно. JaikGeorge 7 лет назад 0
Пользователь и группа, оба в настоящее время установлены как apache (как вы можете видеть из конфигурации), так как не рекомендуется устанавливать их как root. JaikGeorge 7 лет назад 0

0 ответов на вопрос

Похожие вопросы