Я настраиваю платформу веб-разработки, которая максимально упрощает написание и тестирование всего кода на моем локальном компьютере и синхронизацию его с моим веб-сервером. Я настраиваю несколько виртуальных хостов, чтобы получить доступ к своим проектам, введя «проект» вместо «localhost / project» в качестве URL-адреса.
Я также хочу настроить это так, чтобы иметь доступ к своим проектам из любой сети. Я подписался на URL-адрес DYNDNS, который указывает на IP-адрес моего компьютера.
Это отлично работало откуда угодно, прежде чем я настроил виртуальные хосты. Теперь, когда я пытаюсь получить доступ к своим проектам, введя свой URL-адрес DYNDNS, я получаю сообщение об ошибке 403 Forbidden: «У вас нет разрешения на доступ / на этом сервере».
Чтобы настроить свои виртуальные хосты, я отредактировал два файла - hosts в папке system32 / drivers / etc и httpd-vhosts.conf в папке Apache моей установки WAMP.
В файле hosts я просто добавил имя сервера для связи с 127.0.0.1. Я добавил в файл http-vhosts.conf следующее:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp/www/ladybug"
ServerName ladybug
ErrorLog "logs/your_own-error.log"
CustomLog "logs/your_own-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp/www"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
Есть идеи, почему я не могу получить доступ к своим проектам, набрав URL-адрес DYNDNS? Кроме того, можно ли настроить виртуальные хосты так, чтобы при вводе http: // проекты со случайного компьютера вне моей сети я получаю доступ к url.dyndns.info/projects (он же мои проекты WAMP на моем домашнем компьютере)?
Помощь очень ценится, спасибо!
Для работы извне вашему серверу потребуется полное доменное имя (полное доменное имя).
Пример конфигурации:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp/www"
ServerName url.dyndns.info
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
Вам также необходимо открыть порт 80 через маршрутизатор и перенаправить его на IP-адрес вашего внутреннего сервера.
Вы не сможете использовать только http: // проекты для подключения к вашему серверу, если вы не настроили DNS-сервер и не использовали его.
Как указывает ffreedon_is_chaos, вам необходимо использовать полное доменное имя для доступа к службе извне.
В дополнение к ServerName вы также можете добавить псевдоним сервера, который позволит вам получить доступ к домену с другими именами, что означает, что вы все равно сможете использовать не полное доменное имя внутри. Например.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp/www/ladybug"
ServerName ladybug.something.com
ServerAlias ladybug www.ladybug.something.com
ErrorLog "logs/your_own-error.log"
CustomLog "logs/your_own-access.log" common
</VirtualHost>