Windows 10/Apache/LAN 다른 로컬 컴퓨터에 호스팅된 웹사이트에 액세스하는 방법은 무엇입니까?

Windows 10/Apache/LAN 다른 로컬 컴퓨터에 호스팅된 웹사이트에 액세스하는 방법은 무엇입니까?

내 홈 네트워크의 다른 로컬 컴퓨터에서 호스팅되는 로컬 개발 웹 사이트에 액세스하고 싶습니다.

나는 사용해 보았습니다.http://192.168.1.nn브라우저에 http://localhost가 있는데 둘 다 찾을 수 없습니다(내 서버 컴퓨터의 고정 IP 주소는 192.168.1.nn입니다).

컴퓨터 nn에서 실행하면 localhost와 해당 웹사이트에 액세스하는 데 아무런 문제가 없습니다.

Windows 설정을 사용하여 nn 컴퓨터에 대한 인증되지 않은 액세스를 허용해 보았습니다(Defender Firewall 및 Malwarebytes > 설정 > 허용 목록 > 추가 > 192.168.1.nn에서도 가능). 라우터에서 포트 전달 규칙을 사용하여 포트 mm을 컴퓨터 nn으로 전달하려고 시도했습니다(주소 http://localhost:mm 또는 사용).http://192.168.1.nn:mm). Hosts 파일에 다음 줄을 추가해 보았습니다.

192.168.1.nn 로컬호스트

나는 네트워킹의 내부에 대해 잘 모릅니다. 내 컴퓨터 중 하나에서 다른 컴퓨터로 LAN-LAN 웹 연결을 만들고 싶습니다.외부 세계(WAN)에 어떠한 액세스도 제공하지 않고내 네트워크에서. 테스트를 거친 답변에 대해 도움을 받기를 희망하므로 너무 많은 질문과 답변이 필요하지 않습니다.

답변1

보안상의 이유로 추가 정보 제공을 꺼려하시는 것 같으니, 이 문제를 해결하는 데 도움이 될 만한 일반적인 생각과 의견은 다음과 같습니다.

타사 애플리케이션

  • 테스트 중에는 방화벽이나 바이러스 검사를 비활성화하십시오. 타사 응용 프로그램이나 하드웨어는 사용자가 정한 규칙을 넘어서 두 컴퓨터 간의 통신에 영향을 미칠 수 있습니다.

  • 서버에 가상 머신을 사용하는 경우 가상 머신 자체에 대한 추가 구성(호스트의 모든 항목과 함께)을 수행하여 액세스를 허용해야 할 수도 있습니다.

  • 가상 머신 소프트웨어에는 로컬 네트워크의 일부로 간주되지 않는 "호스트 전용" 가상 네트워크 어댑터에 대한 옵션이 있을 수 있습니다. "호스트 전용" 네트워크 어댑터(있는 경우)에 할당된 IP를 통해 원격 액세스를 시도하고 있지 않은지 확인하세요.

  • 브리지된 어댑터를 실행하지 않는다는 가정하에 가상 머신에 대한 액세스를 허용하려면 가상 머신의 소프트웨어를 통한 포트 전달이 필요할 수 있습니다.

  • WSL을 사용하는 경우 구체적으로 업데이트하거나 일반적으로 Windows를 업데이트해야 할 수 있습니다.

로컬 네트워킹

  • 컴퓨터가 동일한 로컬 네트워크에 있는지 확인하십시오. 모든 라우터의 네트워크 마스크를 확인하세요. 일반적으로 동일해야 합니다. 또한 네트워크 DHCP 서버(역시 라우터 등에 있을 가능성이 높음)가 연결하려는 모든 장치에 동일한 범위의 로컬 주소를 전달하고 있는지 확인하십시오.

  • 255.255.255.0서버의 주소가 ex인 경우 네트워크 마스크가 eg라고 가정합니다 . http://192.168.1.nn서버에 액세스하는 데 사용하는 컴퓨터의 주소는 ex. http://192.168.2.nn, 동일한 로컬 네트워크에 있지 않습니다.

  • 지정하지 않은 특별한 네트워크 설정이 없는 한, 동일한 네트워크에 있는 장치 간의 기본 통신에는 라우터의 포트 전달이 필요하지 않습니다.

  • 모바일 장치를 사용하여 로컬 네트워크에서 서버에 액세스하려는 경우 이동통신사의 데이터 요금제가 아닌 Wi-Fi를 사용하고 있는지 확인하세요(이는 WAN 액세스 테스트에만 유용하므로).

  • 일반적으로 라우터가 할당한 로컬 주소만 사용해야 합니다(즉, ISP가 할당한 IP가 아님).

  • 대체로 두 개 이상의 라우터를 사용하거나 Wi-Fi 액세스 포인트를 사용하거나 "고급" 네트워킹 장비(예: 메시 네트워크 하드웨어)를 사용하면 (이론적으로) 문제가 발생할 수 있습니다.

호스트 이름

  • 파일은 hosts해당 파일이 있는 컴퓨터에만 적용됩니다. 따라서 hosts서버의 파일은 로컬 네트워크의 다른 컴퓨터가 해당 파일이 지정하는 호스트 이름을 확인하는 것을 허용하지 않습니다. 액세스를 시도하는 컴퓨터의 파일 hosts은 수정이 필요한 파일입니다.

  • localhost임의의 이름이 아닙니다. 거의 항상 참조자입니다.오직로컬 컴퓨터에. 이는 일반적으로 원격 서버(즉, 동일한 컴퓨터에 있지 않은 서버)를 참조하는 데 사용할 수 없음을 의미합니다. 이는 가상 머신에도 적용될 수 있습니다.

  • 수정 localhosthosts가능하지만 브라우저에서 무시될 수 있습니다. 대신 브라우저는 ex. 127.0.0.1원격으로 액세스할 수 없는 로컬 루프백 주소( )를 반환하기만 하면 됩니다.

  • Linux(예: Raspberry Pi 또는 WSL)를 사용하는 경우 파일 편집 외에도 확인자 구성과 관련하여 수행해야 할 몇 가지 추가 단계가 있을 수 있습니다 hosts.

  • 기본 테스트의 경우 연결 문제를 특정 호스트 이름이 아닌 서버 자체에 연결하는 문제로 제한하기 위해 IP 주소를 계속 사용하고 모든 종류의 호스트 이름을 피하는 것이 좋습니다.

  • 각 장치를 수정하지 않고 호스트 이름을 사용하려면 hosts로컬 DNS 서버를 설정해야 합니다(그리고 그에 따라 라우터를 구성해야 합니다).

  • hosts해당 서버에 액세스하려는 호스트 이름에 대해 서버를 가리키는 항목 또는 DNS 항목이 있어야 합니다 .

아파치

  • Apache가 원격 서버에서 실행되고 있는지 확인하십시오.

  • Apache가 응답하는 것을 막지는 못하지만 Apache에 지정된 호스트 이름에 대한 가상 호스트가 없으면 기본 웹 페이지 또는 오류 페이지가 반환될 수 있습니다.

  • Apache 서버 또는 해당 가상 호스트의 구성으로 인해 다른 컴퓨터에서의 액세스가 거부될 수 있으므로 서버에 대한 액세스를 제한하는 지시어가 없는지 다시 확인하세요. 모든 지시어에 대한 설정은 Require시작하기에 좋은 위치입니다(이러한 지시어의 값은 일반적으로 이어야 함 all granted).

  • 특정 가상 호스트의 및/또는 /directory 설정에 있는 ServerRootDocumentRoot설정( 및 모든 DocumentRoot디렉터리 설정) 의 불일치 또는 오류로 인해 응답이 발생할 수 있습니다.httpd.confDocumentRoot403 Forbidden

  • 파일을 사용하면 .htaccess파일 설정에 따라 서버에 대한 액세스가 제한될 수 있습니다.

  • 모든 listen지시문(예: in )이 ex. 대신 및/또는 httpd.conf같은 것으로 설정되어 있는지 확인하십시오 . 또는 . 두 번째 유형의 지시문은 Apache가 / 에서만 수신하도록 연결하며 서버 자체가 아닌 모든 컴퓨터의 요청을 삭제합니다.listen 80listen 443listen 127.0.0.1:80listen 127.0.0.1:443127.0.0.1localhost

  • 80 또는 포트 443(HTTP/HTTPS 기본 포트) 이외의 포트 에 Apache를 설정한 경우 IP 또는 호스트 이름(예: 또는 ) listen과 함께 해당 포트를 포함해야 합니다 .192.168.1.nn:8080local-example:80

  • Apache를 변경하려면 Apache를 다시 시작해야 해당 변경 사항이 적용됩니다.

  • Debian/Ubuntu 기반 시스템을 사용하는 Linux에서는 파일을 다시 시작하기 전에 sites-available폴더에 있는 모든 파일에서 해당 폴더로 심볼릭 링크를 만들어야 할 수도 있습니다 .sites-enabled

관련 정보