2010-06-25 2 views
1

Google 애플리케이션은 두 가지 프레임 워크에서 실행됩니다. 하나는 https 하나를 사용하지 않습니다. 내가 tomcat 커넥터를 작동하도록 구성하려고하지만 한 프레임 워크에서 작동 시키면 다른 프레임 워크에서 작동하지 않습니다.SSL 구성 및 Tomcat과 혼동 됨

로드 밸런서가 처리하므로 SSL을 완전히 처리 할 필요가 없다고 들었습니다. 이러한 의미가 무엇인지 모릅니다.

예 : 하나의 프레임 워크에서 권한 거부 오류가 발생하고 다른 오류가 발생합니다. 우리가 그 반대의 상황을 바꾼다면 허가 오류 대신 유효하지 않은 인증서 오류가 발생합니다.

커넥터의 tomcat 설명서에는 옵션이 잘 설명되어 있지 않습니다. 우리가 잘못하고있는 어떤 생각?

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"/> 

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="false" maxThreads="150" scheme="https" secure="false" clientAuth="false" sslProtocol="TLS"/> 

위의 커넥터는 http 프레임 워크에서 작동하지만 일부 요청은 http 및 일부 https이기 때문에 IE에서 "혼합 콘텐츠 경고"를 제공합니다.

도움을 주시면 감사하겠습니다. 당신이 커넥터가 포트 443에서 수신이있는 경우 즉, HTTPS 포트이며, 브라우저는 즉시 그것을하지 않는 한 서버가이 이해하지 못할 — 연결과 같은 SSL ClientHello 메시지를 보낼 수 있기 때문에

답변

0

, 그것은 SSL 활성화해야 SSL을 사용할 수 있습니다.

로드 밸런서가 SSL 연결을 종료하고 일반 HTTP를 통해 요청을 Tomcat으로 전달할 수 있습니다. 이 경우 포트 443에 커넥터가 필요하지 않습니다.

그러나 응용 프로그램 중 하나가 클라이언트 인증서를 사용하여 인증을 수행하는 것처럼 보입니다. web.xml 파일에서 login-config 요소를 찾으십시오. 사용중인 인증 방법은 무엇입니까?

클라이언트 인증서가 필요하지만 SSL이로드 균형 조정기에서 종료되면 클라이언트 인증서가 Tomcat에 도달하지 않으므로 인증이 작동하지 않습니다.

+1

여기서 클라이언트 인증서가 필요하지는 않지만 실제로 mod_headers를 사용하여 Tomcat에 클라이언트 인증서를 전달할 수 있으며 mod_proxy (mod_header없이 mod_jk 없이도 가능) : SSLOptions + StdEnvVars + ExportCertData RequestHeader set SSL_CLIENT_CERT % {SSL_CLIENT_CERT} e – Bruno

0

mod_proxy (역방향 모드)가있는 Apache Httpd와 같은 부하 분산기이면에 SSL 연결은 브라우저에서로드 균형 조정기로 연결됩니다 ("erickson"이 말한 것처럼). web.xml 파일에서 login-config를 실제로 확인할 수 있습니다 (CLIENT-CERT를 사용하는지 확인).

<security-constraint> 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 

그것은 당신이 안전한 부하되는 것이 확실하게 사용자 정의 밸브이를 강제 할 수있는 방법이있을 것 같다

발생할 수있는 또 다른 문제는 web.xml의 transport-guarantee 요소이다 - 평형 기. 여기에 an article on the subject (translated from French)입니다.

혼합 콘텐츠의 가장 큰 원인은 SSL에서 호스팅되지 않는 이미지를로드하는 것입니다. 템플릿에 http://으로 하드 코딩 된 회사 로고가 있거나 어쩌면 Location 헤더가 http:// URL을 반환 할 수 있습니다. 큰에서도 (

Header edit Location ^http://www.example.com/test/ https://www.example.com/test/ 

많은 사이트를 : 당신은 물론 올바른 주소로 교체해야 할 위치 후자이 아파치 아파치와 같은 구성을 사용하여 고정 할 수있다, (그것은 당신의로드 밸런서의 가정) 회사) 콘텐츠를 혼합합니다.이는 실제로 나쁜 것입니다 :

  • 사용자는 페이지의 모든 요청과 아마도 원본을 보지 않고 페이지의 어느 부분이 안전하고 어떤 부분이 안전하지 않은지 알 수 없습니다.
  • 일반 HTTP 요청에 대한 HTTPS 요청의 쿠키 및 정보 누출이 있습니다. 누군가가 일반 HTTP를 통해 쿠키를 잡으면 잠재적으로 HTTPS를 통해 사기범으로 사용할 수 있습니다. (특히 보안 플래그가없는 쿠키가 사용되는 경우)
관련 문제