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

Как я могу заставить мои локальные сетевые машины вызывать локальный веб-сервер по URL-адресу?

У меня четыре компьютера, подключенных к одному коммутатору, но не подключенные к Интернету.

Один из компьютеров (большой на картинке) более мощный, чем другие, и работает под управлением Ubuntu с тремя действующими веб-серверами Node.js с разными приложениями на разных портах. Остальные компьютеры работают под управлением Windows.

Я хочу, чтобы три других компьютера получали доступ к веб-серверам, вызывая URL-адрес, например

Каков наилучший способ (приоритет от самого быстрого времени настройки) для этого?

До сих пор я пробовал Bind9 на серверном компьютере и назначал статические IP-адреса и ручной жестко заданный DNS на трех клиентских машинах, но он не работает, и, поскольку я работаю над ним, я полагаю, что опубликую этот вопрос, если у кого-то есть лучший способ.

Каков наилучший (приоритет от самого быстрого времени настройки) способ добиться этого?

НЕ ПРИВЯЗАТЬ.

Отредактируйте c:\windows\system32\drivers\etc\hosts на каждом рабочем столе и укажите эти имена на 192.168.0.5.

192.168.0.5 files.bugsteins 
192.168.0.5 chat.bugsteins
192.168.0.5 devices.bugsteins

Добавьте веб-прослушиватель на порт 80 на сервере, каким-то образом с настройкой Node.js или базовой установкой веб-сервера (Lighttpd, NginX, Apache или другие), обслуживающей статическую страницу с JavaScript в нем, который смотрит на URL и перенаправляет страницу на соответствующий порт.

Взяв из https://stackoverflow.com/questions/18022636/redirection-based-on-url-javascript что-то вроде этого (непроверено):

<html>
<head><title>Redirect page</title></head>
<body>
<script type="text/javascript">

if (window.location.href== "http://files.bugsteins") {
   window.location.href = 'http://files.bugsteins:3000'; 
}

if (window.location.href== "http://chat.bugsteins") {
   window.location.href = 'http://chat.bugsteins:3001'; 
}

if (window.location.href== "http://devices.bugsteins") {
   window.location.href = 'http://devices.bugsteins:3002'; 
}

</script>
</body>
</html>

Самым быстрым будет установка пакета dnsmasq в зависимости от вашего дистрибутива Linux (Arch / CentOS / RHEL / Ubuntu). Сохраните все записи в / etc / hosts на вашем DNS-сервере (который использует dnsmasq). Направьте сюда все свои рабочие станции / хосты Linux.

Кроме того, не забудьте установить пересылки на внешний DNS-сервер в Интернете для нелокальных запросов.

Для небольших сред, скажем, <100 машин, это достаточно хороший и минималистичный DNS-сервер.

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