Назад | Перейти на главную страницу

Доступ к виртуальному хосту из-за пределов LAN

Я настраиваю платформу веб-разработки, которая максимально упрощает написание и тестирование всего кода на моем локальном компьютере и синхронизацию его с моим веб-сервером. Я настраиваю несколько виртуальных хостов, чтобы получить доступ к своим проектам, введя «проект» вместо «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>