>백엔드 개발 >PHP 튜토리얼 >로드 밸런싱을 위해 여러 Tomcat을 사용한 후 Tomcat 포트가 외부에 열려 있지 않을 때 Tomcat에 대한 정확한 액세스를 달성하는 방법은 무엇입니까?

로드 밸런싱을 위해 여러 Tomcat을 사용한 후 Tomcat 포트가 외부에 열려 있지 않을 때 Tomcat에 대한 정확한 액세스를 달성하는 방법은 무엇입니까?

WBOY
WBOY원래의
2016-08-08 09:28:321203검색

  • 배경:

Nginx와 두 개의 Tomcat을 사용한 로드 밸런싱 및 방화벽에서 Tomcat 포트 (8080 및 8090)은 닫혀 있고 포트 80만 외부 세계에 열려 있습니다. Nginx 구성은 다음과 같습니다:

업스트림 tomcatCluster {

서버 :8080 ;

서버 :8090 ;

}

서버

{

listen 80;

server_name dev.xjj.cn

……

위치 / {

                           … 🎜> Proxy_pass http:// tomcatCluster;

                                         8080과 8090입니다. 위치 설명은 키워드 "/< 프로젝트 이름>/servlet/"을 요청 URI에 포함합니다.

요구 사항:

Tomcat 중 하나가 업그레이드되면 해당 페이지에 직접 액세스하여 여부를 테스트해야 합니다. 오류가 있습니다.

요구사항 분석:

  • Tomcat 포트가 방화벽에 의해 외부 접근이 차단되어 직접 접근이 불가능합니다. "http://:8080/" 또는 "http://:8090/"을 통해 테스트용 Tomcat에 액세스합니다. 솔루션은 Nginx를 통해서만 전달될 수 있습니다.
해결책:

  • proxy_pass와 결합된 Nginx 재작성을 사용하여 Tomcat에 직접 액세스할 수 있습니다. 설명은 다음과 같습니다. Nginx 위치 구성에 두 개의 위치 구성을 추가합니다.
                                                                           / >        프록시_패스 http://192.168.0.9 :8080 ;

                                                                                                                        🎜> Proxy.conf 포함 ;

                                                         > 🎜>

    문 재작성: 요청 URI http://dev.xjj.cn/tomcat8090-/*** http://dev.xjj.cn/으로 대체 /***
  • proxy_pass 문: 요청 http://dev.xjj.cn// *** http://192.168.0.9:8090//***
  • 이러한 방식으로 rewrite 및 Proxy_pass 문 조합을 통해 특정 tomcat에 대한 정확한 액세스가 달성됩니다.

위 내용은 로드 밸런싱을 위해 다수의 tomcat을 사용하고 tomcat 포트는 공개하지 않은 후 정확하게 tomcat에 접근하는 방법을 소개한 내용으로, 관련 내용도 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.