2016-09-06 3 views
0

Linux 서버에 여러 개의 Tomcat 인스턴스를 갖기 위해 각 인스턴스에 웹 응용 프로그램 ROOT가 배포되어 있습니다.포트 번호가없는 톰캣에서 웹 응용 프로그램에 액세스

응용 프로그램에 액세스하는 동안 URL은 최종 사용자가 응용 프로그램의 IP 주소 또는 포트를 기억하는 것을 원하지 않지만 URL 형식으로 구성됩니다.

리눅스 서버에서 인스턴스가 두 개 이상 사용되므로 기본값은 80 포트 (http) 및 443 (https)가 도움이되지 않습니다.

아이디어는 응용 프로그램의 DNS 이름을 노출하는 것으로 Apache HTTP 서버가이 문제를 해결하는 데 도움이 될 것입니다. 접근법이 맞습니까?

나는 아파치 서버가 리눅스 서버 하나 대 하나의 톰캣 인스턴스 당 하나 여야한다고 가정한다. 이게 확인 될 수 있니?

아파치 톰캣 버전은 8.5.4이며, 계획이 전면 서버로 아파치 HTTPD (또는 다른)를 설정 아파치 HTTP 서버 버전 2.4

답변

0

로 이동하는 것입니다 좋은 방법입니다.

URL에 포트 표기법을 사용하고 싶지 않으므로 서버 당 두 개 이상의 Apache HTTPD를 사용할 수 없습니다. 적어도 표준 HTTP/HTTPS 포트를 사용할 수는 없습니다. 동일한 서버에서 한 번에 하나 이상의 HTTPD.

http와 https를 모두 사용하려는 경우 각각에 대해 하나 이상의 가상 호스트를 만들어야합니다. SSL 443 포트를 사용하는 동안 이름 기반 가상 호스트에 대한 가상 호스트를 만드는 데는 제한이 있으므로 두 개 이상의 HTTPS 포트를 사용하려면 IP 기반 가상 호스팅이 필요합니다.

This is the Apache HTTPD 2.4 virtual host documentation.

그런 다음 mod_proxy 또는 tomcat connector을 사용하여 각 Tomcat으로 요청을 전달할 수 있습니다. 개인적으로 Tomcat과 Apache HTTPD (이 경우에는 AJP 사용)의 컨텍스트 사이에 직선 통신이 있거나 현재 다시 쓰려는 필요가있는 경우 (mod_rewrite) 특히 현재 요구 사항에 따라 하나 또는 둘 다를 선택합니다.

httpd://apache.httpd/context1 -> tomcat:XXXX/context1 (ajp tomcat connector) 

httpd://apache.httpd/ -> tomcat:XXXX/context2 (mod_rewrite) 

httpd://apache.httpd/context3 -> tomcat:XXXX/context4 (mod_rewrite) 
관련 문제