로컬 네트워크 컴퓨터가 URL을 통해 로컬 웹 서버를 호출하도록 하려면 어떻게 해야 합니까?

로컬 네트워크 컴퓨터가 URL을 통해 로컬 웹 서버를 호출하도록 하려면 어떻게 해야 합니까?

단일 스위치에 4대의 컴퓨터가 연결되어 있지만 인터넷에는 연결되어 있지 않습니다.

컴퓨터 중 하나(그림의 큰 컴퓨터)는 다른 컴퓨터보다 더 강력하고 Ubuntu를 실행하고 있으며, 서로 다른 포트에 서로 다른 앱이 있는 세 개의 라이브 Node.js 웹 서버가 있습니다. 다른 컴퓨터에서는 Windows를 실행하고 있습니다.

예를 들어 다른 세 대의 컴퓨터가 URL을 호출하여 웹 서버에 액세스하기를 원합니다.

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

이를 달성하는 가장 좋은(가장 빠른 설정 시간 우선) 방법은 무엇입니까?

지금까지 서버 시스템에서 Bind9를 시도하고 세 개의 클라이언트 시스템에 고정 IP와 수동으로 하드코딩된 DNS를 할당했지만 작동하지 않으며 작업하면서 누군가 더 나은 방법이 있을 경우를 대비해 이 질문을 게시할 것이라고 생각합니다.

네트워크 아키텍처

답변1

이를 달성하는 가장 좋은(가장 빠른 설정 시간보다 우선) 방법은 무엇입니까?

바인드가 아닙니다.

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 설정이나 URL을 보는 JavaScript가 포함된 정적 페이지를 제공하는 기본 웹 서버 설치(Lighttpd, NginX, Apache 또는 기타 힙)를 사용하여 서버의 포트 80에 웹 리스너를 추가합니다. 페이지를 적절한 포트로 리디렉션합니다.

에서 복용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 서버입니다.

답변3

일반적으로 이는 내부 DNS 서버를 통해 처리됩니다. 실행 중인 컴퓨터가 없으면 3대의 클라이언트 컴퓨터 각각에 있는 로컬 호스트 파일에 항목을 추가하면 됩니다.

관련 정보