전면에는 Apache, 후면에는 Tomcat이 있는데 SSL이 작동하지 않습니까?

전면에는 Apache, 후면에는 Tomcat이 있는데 SSL이 작동하지 않습니까?

웹 서버로 Apache를 설정했고 Tomcat은 를 통해 Apache에 연결되어 있으므로 mod_jk사용자는 Tomcat과 상호 작용하지 않습니다.

Apache에 SSL을 설정했고 로 연결할 수 있지만 에서 https://localhost내 애플리케이션에 액세스하려고 하면 오류가 https://localhost/app발생합니다 directory not found.

문제는 일반 http로 갈 때 제대로 작동할 수 있다는 것입니다.http://localhost/app

이 연결이 작동하려면 무엇을 편집해야 합니까?

  • AJP 커넥터의 주석 처리를 해제했습니다.server.xml
  • 가상 호스트를 추가했습니다.httpd.conf

내가 무엇을 놓치고 있나요?

답변1

http와 https는 Apache에서 서로 다른 가상 서버로 간주됩니다. 두 가상 호스트 모두에서 역방향 프록시를 설정했습니까?

답변2

http에서 https로 설정을 복제해야 합니다. http 커넥터가 있으면 ajp 커넥터가 필요하지 않습니다.

설정 방법을 살펴보세요. 아마도 프록시 통과를 수행하거나 마지막에 프록시인 P가 있는 RewriteRule을 사용할 것입니다.

답변3

근로자에 대한 정의가 잘못되었을 수 있습니다. 작업 유형은 Workers.properties를 확인하세요. ajp13인 경우 Tomcat의 ajp 섹션을 원래대로 다시 설정 해제하세요. mod_jk는 일반적으로 ajp13을 유형으로 사용합니다.

답변4

mod_jk를 사용하는 경우 Tomcat에 AJP 커넥터가 필요합니다.

대부분의 경우 작업자에게 구성 문제가 있는 경우 Apache는 500 오류(서버 오류)로 응답합니다. 404가 표시된다면 이는 요청이 Tomcat 서버로 전달되지 않았기 때문입니다(또는 Tomcat 관점에서 URL이 유효하지 않음). Apache 구성(443 포트의 경우)에 JkMount가 있고 올바른지 확인하세요.

mod_jk 관련 문제를 디버깅하려면 mod_jk에서 디버그 로그를 켜고 Apache 로그를 살펴보세요. mod_jk 구성(일반적으로 jk.conf)에 다음 줄을 추가합니다.

JkLog파일 /var/log/apache2/mod_jk.log

JkLogLevel 디버그

시작 시 일부 로그와 각 요청에 대한 흥미로운 세부정보가 표시됩니다.

저는 Apache2 + SSL + JBoss에 대해 이런 종류의 설정을 수행했습니다. 자세한 내용과 최적화 팁은 다음에서 확인하실 수 있습니다. 프로덕션 환경에서 Apache 서버 뒤에 J2EE 애플리케이션 배포

관련 정보