"localhost:8080"을 단순히 "localhost"로 매핑하는 방법은 무엇입니까?

"localhost:8080"을 단순히 "localhost"로 매핑하는 방법은 무엇입니까?

호스트 파일을 사용하면 다음과 같은 작업을 수행할 수 없습니다.

127.0.0.1:8080 testing

그러므로 나는 글을 써야 할 것이다.

127.0.0.1 testing
http://testing:8080 

같은 일을 하기 위해서.

문제는 어떤 포트도 입력하지 않고 IP에 액세스할 수 있어야 한다는 것입니다. 그런 일을 할 수 있는 옵션이 있습니까?

답변1

포트 80에서 서비스하도록 역방향 프록시를 설정하고 모든 요청을 8080으로 전달할 수 있습니다.

Apache는 이를 수행할 수 있는 웹 서버 중 하나입니다. 기본이 있습니다역방향 프록싱 예mod_proxy 문서에서.

답변2

호스트 파일은 호스트 이름을 IP 주소에만 바인딩합니다.

기본적으로 HTTP는 포트 80을 통해 실행됩니다. 따라서 호스트 이름을 127.0.0.1에 바인딩한 다음 브라우저에서 호스트 이름(HTTP를 통해)을 입력하면 포트 80을 암시하게 됩니다.

포트 80을 수신하고 요청을 포트 8080으로 전달하는 프록시 서버를 설정해야 합니다. 웹 서버는 여전히 포트 8080에서 실행되어야 합니다.

답변3

호스트 파일은 이름을 IP에 연결하는 것입니다.
당신이하고 싶은 일은 방화벽 의무입니다.
또는 8080 대신 80에서 실행되도록 애플리케이션을 구성합니다.
iptables를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

iptables -t nat -I PREROUTING -p tcp -i eth0 -d 127.0.0.1 --dport 8080 -j DNAT --to-destination 127.0.0.1:80

답변4

1000 미만의 포트를 수신하려면 추가 권한이 필요합니다. 이것이 아마도 포트 80이 아닌 포트 8080에서 수신하는 이유일 것입니다. Apache, Squid, Varnish 또는 기타 다양한 프록시를 사용하여 역방향 프록시를 설정할 수 있습니다.

또는 권한을 에스컬레이션하고 올바른 매개변수를 전달하여 소프트웨어가 포트 80에서 수신 대기하도록 할 수도 있습니다. 소프트웨어는 무엇입니까? 포트 80에서 수신 대기하도록 도와드릴 수 있을 것입니다.

관련 정보