web-dev-qa-db-ja.com

ローカルネットワークマシンにURLでローカルWebサーバーを呼び出させるにはどうすればよいですか?

私は4台のコンピューターを1つのスイッチに接続しています-インターネットに接続されていません。

コンピューターの1つ(写真の大きなコンピューター)は他のコンピューターよりも強力で、Ubuntuを実行しており、3つのライブNode.jsWebサーバーと異なるポートに異なるアプリがあります。他のコンピューターはWindowsを実行しています。

たとえば、他の3台のコンピューターにURLを呼び出してWebサーバーにアクセスさせたい

  • files.bugsteins-> 192.168.0.5:3000
  • chat.bugsteins-> 192.168.0.5:3001
  • devices.bugsteins-> 192.168.0.5:3002

これを達成するための最良の(最速のセットアップ時間の優先順位)方法は何ですか?

これまで、サーバーマシンでBind9を試し、3台のクライアントマシンで静的IPと手動のハードコードされたDNSを割り当てましたが、機能していません。作業中、誰かがより良い方法を持っている場合に備えて、この質問を投稿すると思います。

Network Architecture

1
CodyBugstein

これを達成するための最良の(最速のセットアップ時間の優先順位)方法は何ですか?

バインドされていません。

各デスクトップの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

何らかの方法でNode.jsセットアップを使用して、サーバーのポート80にWebリスナーを追加するか、URLを参照するJavaScriptを含む静的ページを提供する基本的なWebサーバーインストール(Lighttpd、NginX、Apache、またはその他のヒープ)を追加しますページを適切なポートにリダイレクトします。

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>
2

Linuxディストリビューション(Arch/CentOS/RHEL/Ubuntu)に応じて、最も速いのはdnsmasqパッケージのインストールです。 DNSサーバー(dnsmasqを使用)の/ etc/hostsにすべてのエントリを保持します。すべてのワークステーション/ Linuxホストをここにポイントします。

また、ローカル以外のリクエストについては、フォワーダーを外部のインターネットDNSサーバーに設定してください。

100台未満のマシンなどの小規模な環境では、これで十分で最小限のDNSサーバーです。

1
Linux Cli Aik