2013-04-10 2 views
1

를 사용하여 여전히 액세스 할 수 있습니다 :
1) 키 도구
2)를 통해 자체 서명 된 인증서를 생성 server.xml에 8443 포트 커넥터를 구성
3 8080 로컬 호스트 :) localhost를 모두 체크 된) 8433이
4 액세스 할 수 있습니다 내가 http://localhost:8080/MyApp/에 갈 때, https://localhost:8443/MyApp/에는 리디렉션이없는 내 web.xml을URL은 내가 다음 단계 않았다 HTTP

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>securedapp</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 

에 다음과 같은 보안 제약 조건을 추가했습니다. 내가 아는 한, 전송 보증이 CONFIDENTIAL 인 URL에 HTTP를 사용하여 요청하는 경우 HTTPS를 사용하여 동일한 URL로 자동으로 리디렉션되어야합니다.

그러나 내 앱은 계속 액세스 할 수 있으며 HTTP와 HTTPS를 모두 사용하여 작동합니다. 나는 Tomcat 6.0.36을 사용하고있다. 내가 무엇이 누락 되었습니까?

미리 감사드립니다.

+0

만큼 나에게 좋아 보이는 사용하여 동일한 URL에 기밀 리디렉션되는 URL에 HTTP를 사용하여 요청합니다 ctor에이 secure="false"있다 ''다른 것 안에 중첩되어 있지 않습니다 ...? –

답변

1

내 질문에 답해주세요.

이 동작은 HTTP 커넥터의 secure 플래그로 인해 발생합니다. 이전에 테스트 목적으로 설정했고 잊어 버렸습니다.

HTTP 커넥터 secure="true"을 가지고 있으며, 브라우저에서 기존의 JSESSIONID 쿠키가없는 경우 : HTTP에 대한

  • JSESSIONID가 HTTPS에 대한
  • 가 JSESSIONID를 요청하는 URL에 저장된 요청하는 쿠키에 저장되어
  • 기밀 정보 전송으로 인해 HTTPS를 사용하는 동일한 URL에 같은 URL이 리디렉션되지 않습니다.

HTTP conne 예상대로

  • , 누구의 전송을 보장 자동으로 올바르게 내부에 배치됩니다로 HTTPS