다른 장치에서 IP를 통해 로컬 호스트에 액세스 Ubuntu

다른 장치에서 IP를 통해 로컬 호스트에 액세스 Ubuntu

xampp을 사용하여 Ubuntu에서 로컬 호스트 서버를 실행하고 있습니다. 다음에서 이 서버에 액세스하고 싶습니다.다른 장치동일한 네트워크 내에서. 이를 달성하기 위해 로컬 네트워크의 호스트 IP 주소를 사용합니다 192.168.150.250.

다른 장치에서 접속하면 192.168.150.250localhost 콘텐츠가 로드되고 이제 xampp 대시보드를 볼 수 있습니다. 호스트의 하위 디렉토리로 들어가려고 할 때. 예를 들어, 192.168.150.250/my-siteURL은 즉시 로 리디렉션됩니다 localhost/my-site.

이상한 점은 모든 장치가 리디렉션되지는 않는다는 것입니다. 예를 들어 내 iOS 장치는 로컬 호스트 IP 주소를 변경하지 않았지만 내 노트북은 변경했습니다. 이것이 방화벽 때문일 수 있다고 생각하여 다음 명령을 사용하여 비활성화했습니다. sudo ufw disable 이제 정말 흥미로워집니다. 이 설정을 사용하면 내 노트북 ​​탐색기 브라우저가 내 호스트에 연결할 수 있지만 동일한 노트북에서 컴퓨터에서는 Chrome 브라우저 여전히 사이트를 IP에서 localhost로 리디렉션합니다.

내 거등/호스트문서

127.0.0.1   localhost
127.0.1.1   Ubuntu-X

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

이 이상한 리디렉션의 원인은 무엇입니까? 일부 장치 및 브라우저에서는 작동하지만 다른 장치 및 브라우저에서는 작동하지 않는 이유는 무엇입니까?

답변1

웹 서버가 동적으로 생성된 페이지를 처리하고 자신을 참조하는 정규화된 URL을 생성해야 하는 경우 URL의 호스트 이름/주소 부분에 무엇을 입력해야 하는지 알아야 합니다.

더 구체적인 정의가 없으면 기본값은 일반적으로 안전한 선택이고 로컬에서만 액세스할 수 있는 빠른 테스트 설정에 적합하기 때문에 "localhost"입니다.

다른 장치에서도 서버에 액세스해야 하는 경우 "올바른" 방법은 서버에 다른 장치가 확인할 수 있는 이름이 있는지 확인한 다음 ServerName해당 이름을 기본 서버 및/또는 Apache 구성의 VirtualHost 부분입니다.

또 다른 해결책은 UseCanonicalName OffApache 구성에서 이를 설정하는 것입니다. 이렇게 하면 Apache는 클라이언트가 원래 서버에 액세스하는 데 사용한 이름이나 IP 주소를 사용하여 자체 참조 URL을 동적으로 생성합니다.

URL 생성은 PHP 또는 Perl 기반 웹 응용 프로그램에서도 발생할 수 있습니다. 이 경우 응용 프로그램에는 자체 구성 설정이 있을 수 있습니다.

답변2

문제가 해결되었습니다.

여기서 문제는 내 브라우저와 캐시 파일입니다. 캐시를 지우거나 엄격한 개인 정보 보호 브라우징 모드로 전환하면 페이지가 올바르게 표시됩니다.

답변3

내 웹사이트에서 이 리디렉션을 수행하고 있습니다...

아마도 my-site의 소스 코드 중 일부가 localhost를 사용하도록 구성되었거나 my-site 내의 .htaccess 때문일 수 있습니다.

관련 정보