Я не могу сделать мой локальный сайт общедоступным в интернете (используя Xampp и no-ip.com).

Вопрос или проблема

Я пытаюсь разместить сайт локально на своем ПК и опубликовать его в интернете. Я использую no-ip.com и создал DNS хост с именем (например) mydnshostname.ddns.com.

Я изменил свой файл drivers/etc/hosts, и теперь, когда я обращаюсь к localhost, он напрямую переходит на мой сайт.

Я также изменил файл httpd-vhosts.conf на Apache и внес такие изменения:

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "E:/xampp/htdocs/mydnshostname"
    ServerName mydnshostname.ddns.com
</VirtualHost>

Теперь, когда я обращаюсь к mydnshostname.ddns.com (с моего компьютера), я корректно получаю мой сайт.

Но когда я пытаюсь обратиться к нему с другого ПК, получаю сообщение “сервер не найден”.

Если другой ПК находится в другой сети, я не могу найти сайт вообще (что ожидаемо).

Если другой ПК находится в моей сети, я могу найти его по адресу 192.168.1.x (IP моего настольного ПК, где я его хостингую), но не по адресу mydnshostname.ddns.com.

Есть ли какие-то настройки, которые я упускаю? Как я могу опубликовать его онлайн?

Что касается другого компьютера в той же сети, вам нужно будет отредактировать файл ‘hosts’ для разрешения имен… или настроить собственный внутренний DNS-сервер и указать всем вашим ПК в этой сети использовать этот DNS-сервер.

Иногда маршрутизаторы имеют некоторые функции DNS… но самый быстрый способ для локального тестирования — просто добавить запись в файл /etc/hosts. Если ваш рабочий стол на Windows, просто поищите, как редактировать файл /etc/hosts в Windows (это возможно).

Комментарий Archemar верный, вам нужно выполнить перенаправление портов (через маршрутизатор), чтобы весь входящий трафик на порт 80 перенаправлялся на ПК, на котором работает Apache.

Наконец, в зависимости от вашей операционной системы на хосте, вам нужно будет отрегулировать настройки брандмауэра на вашем серверном ПК, чтобы разрешить входящие подключения на порт 80.

Ответ или решение

Чтобы ваш локально размещенный веб-сайт стал доступным в интернете с использованием XAMPP и no-ip.com, вам необходимо выполнить несколько важных шагов. Внимательно следуйте этим инструкциям, чтобы устранить возникшую проблему:

Шаг 1: Обновление DNS-записей

Вы уже создали DNS-запись для вашего домена на no-ip.com, например, mydnshostname.ddns.com. Этот шаг уже выполнен корректно, если вы можете получить доступ к сайту из вашего браузера на своем компьютере, используя данное имя хоста.

Шаг 2: Настройка виртуальных хостов Apache

Вы изменили файл httpd-vhosts.conf, указав следующее:

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "E:/xampp/htdocs/mydnshostname"
    ServerName mydnshostname.ddns.com
</VirtualHost>

Эта конфигурация выглядит корректной. Убедитесь, что файл конфигурации Apache полностью синтаксически корректен. После внесения изменений не забудьте перезапустить Apache для применения новых настроек.

Шаг 3: Настройка маршрутизатора (порт-форвардинг)

Для того чтобы ваш сайт стал доступным извне, вам необходимо настроить порт-форвардинг на вашем роутере. Вам нужно перенаправить входящие подключения на порт 80 (HTTP) на локальный IP-адрес вашего компьютера, например, 192.168.1.x. Вот общие шаги, которые необходимо выполнить:

  1. Войдите в админ-панель вашего маршрутизатора (обычно это можно сделать, введя IP-адрес вашего маршрутизатора в адресную строку веб-браузера).
  2. Найдите раздел настроек Port Forwarding или Virtual Server.
  3. Создайте новую запись, которая будет перенаправлять трафик с внешнего порта 80 на внутренний IP-адрес вашего компьютера на тот же порт.

Шаг 4: Проверка брандмауэра

Убедитесь, что ваш локальный брандмауэр на компьютере, где работает Apache, позволяет входящие соединения на порт 80:

  1. Откройте настройки брандмауэра вашей операционной системы.
  2. Убедитесь, что разрешены входящие подключения на порт 80.
  3. Если необходимо, добавьте новое правило, разрешающее трафик на этот порт.

Шаг 5: Настройка локальной сети

Если вы получаете доступ к сайту с других устройств в вашей локальной сети, но не можете использовать DNS-имя, вам следует добавить его в файл hosts на соответствующих устройствах:

  1. На каждом устройстве в локальной сети откройте файл hosts (в Windows это C:\Windows\System32\drivers\etc\hosts).
  2. Добавьте строку, связывающую локальный IP-адрес вашего компьютера с именем хоста, например:
    192.168.1.x mydnshostname.ddns.com

Заключение

Следуя вышеизложенным шагам, вы сможете сделать ваш локальный веб-сайт на XAMPP доступным из интернета через DNS-запись от no-ip.com. Убедитесь, что никакие шаги не были пропущены, и тестируйте конечный результат, пробуя доступ к вашему ресурсу с разных сетей. Работая систематически, вы легко решите задачу публикации локального сайта.

Оцените материал
Добавить комментарий

Капча загружается...