«Запрещено, у вас нет прав доступа на сервере …» из удаленного вычисления и все же работает на localhost

#apache #web-services

#apache #веб-сервисы

Вопрос:

Я получаю следующую ошибку при попытке получить доступ к файлу через сервер apache по URL

Запрещено, у вас нет разрешений на доступ на сервере.

Я изменил настройки каталога на следующие и перезапустил сервер.

 <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
  

Примечание: Мой экземпляр был установлен как часть пакета WAMP, и я нахожусь на локальной машине win10.

Есть идеи, что это может быть? Права доступа к файлам на уровне ОС?

Обновление: я могу нажать URL файла из локального браузера, но не удаленно, например, с мобильного телефона.

Комментарии:

1. Это не полное сообщение об ошибке, которое вы получаете. Чего-то не хватает. Пожалуйста, опубликуйте полное сообщение об ошибке, которое вы получаете.

2.Помимо этого: конфигурация вашего хоста определенно запрещает любой доступ ко всему: Deny from all

3. Не более того …. Запрещено, у вас нет разрешения на доступ к /dir / image.png на этом сервере. Сервер Apache / 2.4.23 (Win64) PHP / 5.6.25 на 192.168.1.29, порт 8082

4. Что является чем-то другим, не так ли? Как вы думаете, почему публикация частей сообщения об ошибке является хорошей идеей? Помимо этого: я думаю, что мой последний комментарий отвечает на ваш вопрос.

5. Если это Apache 2.4 , вы должны использовать директивы Require all granted вместо Deny/allow . Что касается вопроса, 2-й комментарий @arkascha — это все, что нужно.

Ответ №1:

Это осложнялось тем фактом, что после apache 3 вам не нужно изменять ‘httpd.conf’, чтобы решить эту проблему, но перейдите на httpd.vhosts.conf и измените ‘Требовать локального’ на ‘Требовать предоставления всех прав’, чтобы разрешить удаленный доступ, как показано ниже

 <VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp64/www
    <Directory  "c:/wamp64/www/">
        Options  Indexes  Includes  FollowSymLinks  MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
  

Ответ №2:

У меня была та же проблема после того, как я перешел на Vultr в качестве моего нового VPS из VPSie с установкой Ubuntu 18. У меня был мой webroot в моем каталоге $ HOME / www. Это не производственная система, только для моих целей разработки.

Я отредактировал файл apache2.conf и добавил следующее. После перезапуска Apache проблема была устранена.

 sudo vi /etc/apache2/apache2.conf

<Directory /home/YourUserName/www/>
 Options Indexes FollowSymLinks
 AllowOverride All
 Require all granted
</Directory>
  

Замените «/home/YourUserName/www /» своим собственным каталогом. Это устранило проблему.

Ответ №3:

перейдите к apache (на панели задач) /httpd.vhosts.con

 <Directory "e:/wamp64/www/">
    Options  Indexes  FollowSymLinks  MultiViews
    AllowOverride All
    require all granted
</Directory>
  

и перезапустите wampserver