Apache의 프록시 기능을 사용하여 특정 경로 만 Tomcat에 연결 (AJP 연결)

2486 단어 아파치자바Tomcat
Apache/Tomca 제휴로 조사한 것을 메모해 둔다(특히 참신한 내용은 없지만···).

전제


  • 특정 경로 (예 : /hello ) 만 Tomcat과 함께 작동하며 다른 경로 (HTML, CSS, JavaScript 등의 정적 콘텐츠)에 대한 액세스는 Apache 문서 루트의 파일에 응답
  • Tomcat 앱에는 컨텍스트 경로가 있습니다(예: /app)
  • Tomcat과의 연동은 AJP를 통해 실시한다(HTTP가 아니라 AJP를 사용하는 이유는 특별히 언급하지 않는다 w)



    Apache 설정



    Apache에 다음 설정을 추가합니다.
    # コメントアウトされている場合はコメントを除去
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    
    # ...
    
    # リバースプロキシの設定
    ProxyRequests Off
    ProxyPass /hello ajp://ap:8009/app/hello
    # レスポンスヘッダー値からコンテキストパスを除去
    ProxyPassReverse / /app/
    # クッキーパスの書き換え
    ProxyPassReverseCookiePath /app /
    

    검증 앱


  • htps : // 기주 b. 코 m / 카즈키 43 조오 / 아파치 ぇ - sp 링 g - 보오 t-

  • 백엔드 앱을 Spring Boot(임베디드 Tomcat)로 만들고 있는 것에 특히 의미는 없다. 단순히 Tomcat 설치하고 ... 설정 추가하고 ... 등이 번거로웠을뿐. 실제···조사한 내용을 반영하게 되는 실어플리케이션은···Spring Boot 어플리가 아니다(라든지 Spring도 사용하고 있지 않다)w

    따라서 검증 어플리케이션에서는 다음 동작을 검증했습니다.

    Apache 관리 리소스에 액세스



    단순히 Apache 문서 루트 내에서 관리하는 리소스에 액세스해 보겠습니다.



    Tomcat 관리 리소스에 액세스



    Apache를 통해 Tomcat에서 관리하는 리소스에 액세스해보십시오. 역방향 프록시를 확인하기 위해 의도적으로 리디렉션되었습니다. 또한 Spring의 플래시 스코프를 사용하여 세션(=쿠키) 연계의 검증도 실시하고 있다.



    Tomcat에서 Apache 관리 리소스로 리디렉션



    만약을 위해・・・실앱의 에러 패턴도 확인해 둔다.



    보충



    리버스 프록시의 설정은 헤더 값의 재기록은 실시하지만, 응답 BODY내에 있는 URL의 재기입은 행해지지 않는다.
    응답 BODY에있는 컨텍스트 경로를 제거하는 경우 ...
  • mod_substitute
  • mod_actions
  • mod_ext_filter
  • mod_proxy_html

  • 등을 사용할 필요가 있지만, 이번에는 미 검증.

    좋은 웹페이지 즐겨찾기