전송:localhost:80/dir/(아파치)

전송:localhost:80/dir/(아파치)

안녕하세요, StackExchange입니다! 슈퍼유저에 대한 첫 번째 게시물입니다.

내 컴퓨터에 Apache와 PHP를 설치했는데 컴퓨터에 "localhost"를 입력하면 제대로 작동합니다. 하지만 내가 원하는 것은 누군가가 http://<my ip>:<random port number that isn't used>내가 http://localhost/internet/. 포트 포워딩을 사용하려면 어떻게 해야 하나요? 그리고 Apache에서 무엇을 구성해야 합니까?

포트 포워딩에 관한 질문 #87465094일 수 있다는 것을 알고 있지만 여기 수퍼유저나 나머지 인터넷에서 내 문제에 대한 해결책을 본 적이 없습니다.

답변1

우선, 두 가지 개념을 하나의 아이디어로 혼합하고 있습니다.

  • TCP/IP 포트 포워딩
  • HTTP 리디렉션

이 둘을 결합하면 원하는 것을 얻을 수 있지만 이는 별개의 개념입니다.

HTTP 리디렉션

그러니 당분간 포트포워딩은 무시하자. 먼저 리디렉션 부분을 설정해 보겠습니다.

$ sudo editor /etc/apache2/sites-available/thews_site

그러면 새 구성 파일이 생성됩니다.대지아파치의 구성. 여기에 사이트의 전체 구성을 배치할 수 있습니다.

우리의 가상호스트

새로운 Apache 사이트를 정의해 보겠습니다.

NameVirtualHost *:12345
<VirtualHost *:12345>
        Redirect / http://www.superuser.com
</VirtualHost>

이렇게 하면 모든 로컬 IP에서 접속할 수 있는 새 사이트가 생성되지만오직포트에 12345.

사이트 정의 자체는 다소 짧습니다. 구성 항목이 1개만 있습니다. 대상 사이트로 리디렉션됩니다.

아파치 포트 구성

또한 Apache에게 새 포트를 수신하도록 지시해야 합니다!

$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf

Listen 12345그러면 끝에 줄이 추가됩니다 /etc/apache2/ports.conf. 또는 텍스트 편집기를 사용하여 직접 추가할 수도 있습니다.

이제 사이트를 활성화해 보겠습니다.

$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart

그러면 이전에 정의한 사이트가 다음과 같이 설정됩니다.활성화됨. 두 번째 명령은 Apache를 다시 시작합니다.

테스트

지금 브라우저에 들어가면 ! http://localhost:12345로 리디렉션됩니다 .superuser.com

포트 포워딩

이제 다음을 설정할 수 있습니다.포트 포워딩. 라우터에서 그렇게 할 것입니다. 공용 포트를 33333로컬 포트로 전달하도록 라우터에 지시하십시오 12345.

이제 누군가가 서핑을 한다면your-public-ip:33333 그들로 리디렉션됩니다 superuser.com.

이 예제는 모두 Debian 기반 환경에 대한 것입니다. 필요한 경우 이를 조정할 수 있기를 바랍니다.

행운을 빌어요 :)

관련 정보