Я знаю, что этот вопрос задавался много раз
Я следил за большинством ответов в Интернете. Но я все равно получаю то же сообщение
403 Запрещено
У вас нет разрешения на доступ к этому серверу.
Странно, что при доступе к одному и тому же ПК на localhost:1234
он работает нормально, но если я получаю доступ с помощью своего IP-адреса 192.168.0.188:1234
Также очень странно, что я пытался установить WAMP на другом ПК и без какой-либо конфигурации я мог бы получить доступ к этому ПК.
Поэтому я подумал, что это потому, что McAfee и брандмауэр, поэтому я открываю порт на Вдовы и McAfee, и ничего не изменилось, и я отключил брандмауэр и все равно ничего не изменил.
Тогда я по какой-то причине открыл порт через «переадресацию портов» маршрутизатора и ничего не изменил.
Я не думаю, что это потому, что моя конфигурация в WAMP, так как я все еще могу получить это 403 Forbidden
сообщение 403 Forbidden
а также используя другой компьютер без какой-либо конфигурации, я мог бы получить к нему доступ.
Оба компьютера настроены следующим образом:
Windows 8 Pro
Доступный ПК использует Microsoft Security Essentials .
Недоступный компьютер использует McAfee Internet Security .
Я попытался отключить WAMP и запустить IIS для Microsoft Server (я отлично работаю с любого ПК), но WAMP все еще не работает
Я последовал за этим руководством:
И Stack Overflow отвечает здесь:
По умолчанию Wampserver настроен так надежно, насколько это возможно, поэтому Apache настроен только на доступ к машине, работающей с Wamp. В конце концов, это должен быть сервер разработки, а не живой сервер.
Также была небольшая ошибка, выпущенная с WAMPServer 2.4, где он использовал старый синтаксис Apache 2.2 вместо нового синтаксиса Apache 2.4 для прав доступа.
Вам нужно изменить настройку безопасности на Apache, чтобы разрешить доступ из любого места, поэтому отредактируйте файл httpd.conf
.
Измените этот раздел:
# onlineoffline tag - don't remove Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 Allow from localhost
Для:
# onlineoffline tag - don't remove Require local Require ip 192.168.0
Require local
позволяет получить доступ с этих 127.0.0.1 & localhost & ::1
.
Require ip 192.168.0
позволит вам получить доступ к серверу Apache из любого IP-адреса в вашей внутренней сети. Кроме того, он позволит получить доступ с помощью сервера mechines фактического IP-адреса с сервера, как вы пытаетесь сделать.
В версии 3 и> WAMPServer есть виртуальные хосты, предварительно определенные для localhost
поэтому вам необходимо внести изменения в права доступа в файл конфигурации определения виртуального хоста
Сначала не httpd.conf
файл httpd.conf
, оставьте его, как вы его нашли.
Используя меню, отредактируйте файл httpd-vhosts.conf
.
Он должен выглядеть так:
<VirtualHost *:80> ServerName localhost DocumentRoot D:/wamp/www <Directory "D:/wamp/www/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>
Изменить его на
<VirtualHost *:80> ServerName localhost DocumentRoot D:/wamp/www <Directory "D:/wamp/www/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
Надеюсь, вы создадите виртуальный хост для своего проекта и не будете использовать папку wamp\www
для своего сайта. В этом случае оставить определение локального хоста самостоятельно и внести изменения только в виртуальный хост.
Не забудьте перезапустить Apache после внесения изменений
Для Apache 2.4.9
Кроме того, посмотрите файл httpd-vhosts.conf в C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot C:/wamp/www <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require local </Directory> </VirtualHost>
Изменить на:
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot C:/wamp/www <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require all granted </Directory> </VirtualHost>
изменение с «Требовать локальное » на «Требовать все предоставленные » разрешило ошибку 403 в моей локальной сети
Я получил этот ответ отсюда . и его работы для меня
Require local
Изменить на
Require all granted Order Deny,Allow Allow from all
Чтобы расширить ответ на RiggsFolly – или для тех, кто сталкивается с той же проблемой, но использует Apache 2.2 или ниже, этот формат должен хорошо работать:
Order Deny,Allow Deny from all Allow from 127.0.0.1 ::1 Allow from localhost Allow from 192.168 Allow from 10 Satisfy Any
Для получения дополнительной информации об изменениях формата для Apache 2.4 официальная версия Upgrading to 2.2 from 2.4 довольно понятна и кратким. Ключевым моментом является:
Старые идиомы управления доступом должны быть заменены новыми механизмами аутентификации, хотя для совместимости со старыми конфигурациями предоставляется новый модуль
mod_access_compat
.
Это означает, что системные администраторы по всему миру не обязательно должны паниковать об изменении конфигураций Apache 2.2 до 2,4-го уровня.