안녕하세요, 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 기반 환경에 대한 것입니다. 필요한 경우 이를 조정할 수 있기를 바랍니다.
행운을 빌어요 :)