내 개발 컴퓨터를 다른 개발자에게 공개했습니다. 보안을 강화하기 위해 로컬 Apache 2.4 웹 서버에 대한 포트 전달을 활성화하려고 합니다. 하지만 포트 80 이외의 포트에는 연결되지 않습니다. 예를 들어 다음과 같은 다양한 지침을 따랐습니다.예를 들어
그래서 라우터의 로컬 포트를 5070(80이 아닌 무엇이든 가능)으로 설정하고 브라우저에서 들어올 때 TCP를 사용하여 "포트 범위"를 80으로 설정했습니다. 그런 다음 <VirtualHost *:5070>
위 파일의 ports.conf(Listen 5070) 파일과 mysite.conf()를 모두 5070으로 읽도록 변경합니다. 내 호스트 파일은 여전히 로컬 호스트를 127.0.0.1로 읽습니다.
Apache를 다시 시작했지만 내 앱에 대한 연결이 거부되었습니다. 모든 것을 다시 포트 80에 넣으면 작동합니다. 방화벽이 꺼져 있는지 켜져 있는지가 중요한 것 같습니다.
정말 이상한 점은 내가 할 때 netstat -tulpn
다음과 같은 결과가 나온다는 것입니다.tcp6 0 0 :::5079 :::* LISTEN 1702/apache2
나는 tcp6을 규정한 적이 없습니다.
내가 무엇을 놓치고 있는지 아시나요?
정말 감사합니다!
답변1
약간의 오해가 있는 것 같아요. 포트 80을 Apache 포트 5070으로 전달하는 경우 포트 80에서 여전히 공개적으로 사용할 수 있으므로 피하려고 합니다. 이 문제를 해결하고 라우터에서 포트 5070을 열어야 합니다. 아파치는 공개적으로 직접 연결할 수 없으므로 해당 포트를 아파치의 포트 80으로 전달할 수 있습니다.
따라서 라우터의 포트 범위에 포트 5070을 넣으십시오. 아파치를 포트 80에 두고 80을 로컬 포트로 로터에 넣으십시오. 귀하의 친구가 http://your-ip-or-dyndns:5070
브라우저에 접속하여 귀하에게 연결됩니다 .
를 사용하면 이전과 마찬가지로 아파치에 액세스할 수 있습니다 http://localhost
.
포트 5070이 열려 있는 사람이 아파치에 액세스하는 것을 원하지 않는다면 인증을 앞에 두는 것이 좋습니다.