포트 번호를 사용하지 않고 LAN에서 Apache 가상 호스트에 액세스


0

내가 알 수있는 한 고정 IP 주소 (예 : 랩톱)없이 서버에서 Apache 가상 호스트에 액세스하는 두 가지 방법이 있습니다.

  • Apache 구성 파일에서 호스트 이름을 foo.localhost로 설정하고 / etc / hosts에서 fo.localhost를 127.0.0.1에 지정하십시오. 이렇게하면 기억에 남지만 LAN의 클라이언트는 지원하지 않습니다.

  • 다른 포트를 듣습니다. 이것은 LAN상의 클라이언트를 지원하지만 기억하기 어렵게합니다.

포트 80에서 모든 가상 호스트를 호스트하면서 다른 장치에 액세스 할 수있는 방법이 있습니까? 127.0.0.1:80/foo/theactualurl을 127.0.0.1:42908/theactualurl로, 127.0.0.1:80/bar/anotherurl을 127.0.0.1:39539/anotherurl로 라우팅하는 리버스 프록시입니까?

우분투 12.04를 실행 중입니다.

답변:


1

나는 초보자입니다. 그러나 이것은 생각 나게했습니다 ...

ServerName지시문을로 설정 foo.localhost하고를 사용하여 ProxyPassLAN 주소로 지시하십시오.

다음과 같은 것 :

<VirtualHost *:80>
   ServerName foo.localhost
   DocumentRoot /var/www/foo  #doesn't matter because we're not going to hit it
   <Location />
      ProxyPass http://192.168.x.x/
      ProxyPassReverse http://192.168.x.x/
   </Location>
</VirtualHost>

그런 다음 다른 내부 사이트에 다음과 같이 액세스하십시오.

<VirtualHost *:80>
   ServerName foo2.localhost
   DocumentRoot /var/www/foo2  #again, doesn't matter
   <Location />
      ProxyPass http://192.168.x.y/
      ProxyPassReverse http://192.168.x.y/
   </Location>
</VirtualHost>

나는 인정할 것이다, 그것이 효과가 있을지 모르겠지만 나에게는 합리적이다.)

또한 LAN에 몇 대의 컴퓨터가 있는지 언급하지 않았지만 몇 대의 컴퓨터라면 /hosts파일을 편집하는 것이 해결책 일 수 있습니다.


0

응용 프로그램을 동일한 가상 호스트의 별도 폴더에 넣는 것은 선택 사항이 아닙니다.

또 다른 간단한 해결책은 사용자 LAN의 클라이언트 PC에서 모든 호스트 파일을 변경하여 추가하는 것입니다.

YOUR_SERVER_IP  foo.com bar.com

그러나 DHCP로 인해 IP가 변경 될 수 있다면 매우 편리하지 않습니다.

Ubuntu에서 avahi / zeroconf를 사용하면 PC가 자신을 HOSTNAME.local로 알리므로 http : //HOSTNAME.local 을 사용 하여 로컬 웹 서버에 연결할 수 있습니다. 어쩌면 avahi로 새로운 별칭을 추가하는 것이 가능할 수도 있습니다.

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