내 웹 사이트가 동일한 LAN상의 다른 컴퓨터를 통해 액세스 할 때 제대로 표시되지 않는 이유는 무엇입니까?


1

내 로컬 홈 네트워크에서 웹 서버 (우분투)를 실행 중입니다. 나는 라우터 뒤에있다. WAN에는 직접 IP가 있습니다. 내 홈 네트워크에 있지 않고 WAN 직접 IP를 통해 내 웹 사이트에 액세스 할 때 내 웹 사이트가 올바르게 표시되고 모든 것이 작동합니다.

라우터 뒤의 집 LAN에서 직접 WAN을 통해 내 웹 사이트에 액세스하면 라우터의 관리자 로그인 페이지로 이동합니다. 이것은 정상입니다. 그러나...

가정용 LAN의 다른 컴퓨터에서 내 웹 사이트에 액세스하면 웹 사이트로 연결되지만 레이아웃 디스플레이가 손상되고 링크를 클릭하면 WAN 직접 IP (라우터의 관리자 로그인 페이지)로 연결됩니다.

가정용 LAN에서 웹 사이트에 액세스 할 때 내 웹 사이트가 제대로 표시되도록하려면 어떻게해야합니까?


그때 나는 더 많은 정보가 필요하다. 도메인 이름이 뭐니? LAN을 통해 폴더에 있습니까? 어떤 링크가 끊어 지나요?
McKayla

답변:


4

CSS 및 자바 스크립트 URL을 확인하십시오. 상대 경로를 절대 링크로 전환해야 할 수도 있습니다. URL 라우팅은 사이트 액세스 방법에 따라 다릅니다.

가장 쉬운 방법은 Firebug 또는 개발자 도구 (리소스 탭)를 사용하여 브라우저가로드하려고 시도하는 리소스를 확인하는 것입니다. 스타일 시트가 제대로로드되고 있는지 확인하십시오 (선택하여 내용을 볼 수 있어야합니다). 사용자가 아니거나 리소스 탭에서 오류가 발생하면 브라우저가보고있는 URL을 확인하고 올바른 URL인지 확인하십시오.

귀하의 브라우저가 LAN IP 주소에서 스타일 시트를 찾고 있지만 WAN IP 주소를 찾고 있어야합니다.


LAN IP 주소는 웹 사이트를 만든 사람이 원격이라는 단순한 이유 때문에 웹 사이트 어디에도 사용되지 않습니다. 그는 WAN을 통해 웹 서버에 액세스하고 LAN IP 주소를 알지 못합니다.
TokyoDan

1

라우터가 "머리핀 NAT"를 올바르게 수행하지 않습니다. 값싼 홈 게이트웨이가 많아서이 일을 제대로 수행하지 못하는 버그 코드가 있습니다.

라우터의 WAN 쪽에서 이미 라우터의 포트 매핑 (일명 "포트 전달") 또는 DMZ (일명 "기본 호스트", "요새 호스트"등) 기능이 올바르게 설정된 것처럼 들리지만, 라우터의 공개 WAN IP 주소로 브라우저를 가리키면 웹 서버에서 페이지를 가져옵니다.

그러나 내부 네트워크에있는 경우 라우터의 공용 WAN IP 주소에 연결할 때 라우터의 관리 페이지가 아닌 웹 서버의 페이지를 가져와야합니다. 라우터가 NAT 개인 IP 주소에서 포트 80에 연결할 때 관리자 페이지를 제공하려면 괜찮습니다. 하지만 공용 WAN IP 주소는 아닙니다.

NAT의 개인 측 클라이언트에서 NAT 개인 IP 주소를 통해 웹 서버에 직접 액세스하려고하면 " http://192.168.0.254/ "하지만 브라우저가 CSS 파일과 이미지를로드 할 때" http://mydomain.com/styles.css "는 공유기의 WAN IP 주소를 의미합니다. 라우터의 버그가있는 라우터는 라우터의 관리 웹 서버가 이러한 요청을 가로 채고 있음을 의미하며 그 자원이 없기 때문에 물건이 끊어집니다.


내 LAN (방화벽 뒤)에서 WAN IP로 이동하면 라우터 관리 페이지가 나타납니다. 서버의 LAN IP 주소로 가면 인덱스 페이지가 나오지만 레이아웃이 엉망입니다. 그리고 하이퍼 링크가 작동하지 않습니다.
TokyoDan

@ 도쿄 댄 예, 이해했습니다. 그게 바로 내 대답이 적용되는 상황입니다. LAN에서 라우터의 WAN IP로 이동할 때 라우터의 관리 페이지를 가져올 수 없습니다. 네트워크 외부에서와 마찬가지로 서버를 가져와야합니다. 라우터의 관리 페이지를 얻는다는 것은 NAT 헤어 피닝을 올바르게 수행하지 못한다는 것을 의미합니다.
Spiff

0

절대 링크가 아닌 상대 링크가 필요합니다. 이렇게 당신의 html에서 이것 같이 무언가 대신에 :

<link rel="stylesheet" type="text/css" href="http://example.com/mysite.css" />
<img src="http://example.com/images/someimage.png" alt="Some Image" />

다음과 같이 표시해야합니다.

<link rel="stylesheet" type="text/css" href="/mysite.css" />
<img src="/images/someimage.png" alt="Some Image" />

이것은 약간 도움이 될지 모르지만, 라우터가 머리핀 NAT를 올바르게 수행하면 라우터가하지 않아도됩니다. 그가이 "모든 링크를 상대 경로로"이동한다면, 그는 또한 그의 웹 서버 리디렉션 / 재 작성 규칙을 재구성해야 할 것입니다. 예를 들어, 내 OS에서 아파치의 기본 설치는 " 192.168.0.1 "~" mydomain.com "(oops, Markdown은 그 중 http : //를 먹었습니다) 단지 후행"/ "을 떠나기위한 것이고, 리디렉션은 깨진 NAT 게이트웨이와 다시 충돌합니다.
Spiff

라우터의 NATP 설정이 올바르게되어 있는지 확인하기 위해 라우터 설정을 확인해야합니까?
TokyoDan

0

도메인 이름 (예 : site.com)을 사용하여 네트워크 외부에서 테마를로드하려고합니다.

쉬운 수정은 / etc / hosts 파일을 편집하고

IP.OF.LOCAL.WEBSERVER site.com sitehostname
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.