이 질문이 의미가 없다면 (죄송합니다.) Tomcat은 포트 8080을 수신하고 URL은 일반적으로 80으로 지정됩니다. URL에 8080을 가리켜 야한다고 DNS에 알리는 방법이 있습니까? 아니면이 문제를 어떻게 해결해야합니까?
이 질문이 의미가 없다면 (죄송합니다.) Tomcat은 포트 8080을 수신하고 URL은 일반적으로 80으로 지정됩니다. URL에 8080을 가리켜 야한다고 DNS에 알리는 방법이 있습니까? 아니면이 문제를 어떻게 해결해야합니까?
답변:
DNS는 포트에 대해 아무것도 모릅니다. tomcat이 포트 8080을 수신하게하려면 몇 가지 옵션이 있습니다. 첫 번째는 URL에서 포트 번호를 사용하는 것입니다
http://example.com:8080/
그것을보고 싶지 않다면 웹 서버를 포트 프록시로 사용할 수 있습니다. 예를 들어 Apache에서는 mod _ proxy를 사용할 수 있습니다
<VirtualHost *:80>
ServerName example.com
ProxyRequests Off
<Proxy *>
Order deny,allow
allow from all
</Proxy>
ProxyPreserveHost On
ProxyPass / http://example.com:8080/
ProxyPassReverse / http://example.com:8080/
ProxyErrorOverride Off
</VirtualHost>
다른 서버가 포트 80을 수신하지 않는 경우이를 수행 할 수 있습니다. 그러므로 server.xml을 편집 할 수 있습니다
다음과 같이 변경하십시오.
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
이제 http://example.com/ 을 시도 할 수 있습니다. 이것은 Tomcat 인스턴스로 올바르게 해석됩니다 .http의 기본 포트는 80이기 때문에.
DNS를 통해이 문제를 해결할 수 있습니다. SRV-Records
SRV-Records를 사용하면 기본적으로 "example.org의 httpd는 어디에 있습니까?"와 같은 질문에 대답하도록 DNS에 지시합니다. 그리고 DNS는 IP 주소와 포트 번호로 응답합니다.
클라이언트 가이 정보를 요청하는지 또는 브라우저가 A-Record 조회를 수행하고 포트 80을 사용하여 지정된 IP에서 웹 사이트를 요청하는지 여부는 알 수 없지만 DNS를 사용하여 시도하려는 경우 시도해 볼 가치가 있습니다.
그렇지 않은 경우 : ether Tomcat이 포트 80을 수신하거나 Apache의 mod_proxy를 통해 8080을 Tomcat으로 경로 재 지정하십시오.