SSL 핸드셰이크가 실패할 경우 Apache HTTP 대체

SSL 핸드셰이크가 실패할 경우 Apache HTTP 대체

나는매우특정 사용 사례. 사용자의 브라우저가 최신 CipherSuites를 사용할 수 있는지 Apache를 사용하여 확인하고 싶습니다.

Apache는 https로 호출되며 SSL 연결 설정을 시도해야 하며, 연결이 실패하면 Apache는 사용자를 대체 HTTP 사이트로 리디렉션해야 하며, 그곳에서 브라우저가 오래되었다는 메시지를 받게 됩니다.

물론 SSL이 설정되었는지 여부에 따라 on/off를 포함하는 https 변수도 있는 mod_rewrite를 사용해야 합니다. 하지만 초기 SSL 핸드셰이크가 실패할 경우 Apache에게 계속하도록 지시하려면 어떻게 해야 합니까?

답변1

클라이언트는 SSL 연결 설정을 시도해야 하며, 연결이 실패하면 Apache는 사용자를 대체 HTTP 사이트로 리디렉션해야 하며, 그곳에서 브라우저가 오래되었다는 메시지를 받게 됩니다.

제 생각에는 클라이언트와 웹 서버가 HTTP 프로토콜 메시지를 교환할 수 있는 단계 이전 단계에서 TLS 핸드셰이크가 실패할 것입니다.

대신에:

  1. 모든 암호를 수락합니다.
  2. 그리고 강한 것부터 약한 것 순으로 순서를 정하세요.SSLCipherSuite ...지령.
  3. 클라이언트가 암호 기본 설정을 결정하도록 허용하지 말고 2단계에서 결정한 기본 설정 순서에 따라 클라이언트와 협상하세요.SSLHonorCipherOrder on 지령.
  4. 저것~해야 한다클라이언트가 지원하는 가장 강력한 암호와 연결됩니다. (이론적으로 실제 마일리지는 다를 수 있습니다.)
  5. 해당 암호가 임계값보다 낮으면 보안 메시지를 표시하는 논리를 적용하세요.
  6. 실제로 강력한 암호화가 필요한 콘텐츠를 보호합니다.설명서에 설명되어 있어요

즉 다음과 같은 내용입니다.

# be liberal in general
SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLHonorCipherOrder on

<Location "/strong/area">
# but https://hostname/strong/area/ and below
# requires strong ciphers
SSLCipherSuite HIGH:!aNULL:!MD5
</Location>

관련 정보