로드 밸런서 뒤에있는 각 서버에는 자체 SSL 인증서가 필요합니까?


66

로드 밸런서 뒤에 5 개의 웹 서버 (예 : haproxy)가 있고 동일한 도메인에 컨텐츠를 제공하는 경우 모든 서버에 대해 SSL 인증서가 필요합니까? 아니면 각 서버에서 동일한 인증서를 사용할 수 있습니까?

모든 SSL 요청을 특정 서버에 넣을 수는 있지만 분산 세션 정보가 필요하고 그렇지 않기를 바랍니다.

답변:


66

로드 밸런서 (...) 뒤에 5 개의 웹 서버가있는 경우 모든 서버에 SSL 인증서가 필요합니까?

따라 다릅니다.

TCP 또는 IP 계층 (OSI 계층 4/3, 일명 L4, L3)에서로드 밸런싱을 수행하는 경우 모든 HTTP 서버에 SSL 인증서가 설치되어 있어야합니다.

HTTPS 계층 (L7)에서로드 밸런싱을 수행하는 경우 일반적으로로드 밸런서에만 인증서를 설치하고로드 밸런서와 웹 서버 사이의 로컬 네트워크를 통해 암호화되지 않은 일반 HTTP를 사용합니다 ( 웹 서버).

당신이있는 경우 설치, 당신은 인터넷을 수행 할 수있다 -> L3로드 밸런싱 -> L7의 SSL 집중 층 ->로드 밸런서 -> L7 HTTP 애플리케이션 서버의 계층 ...

HAProxy의 저자 인 Willy Tarreau는 HTTP / HTTPS표준로드 밸런싱 방법에 대한 훌륭한 개요를 제공합니다 .

각 서버에 인증서를 설치하는 경우이를 지원하는 인증서를 확보하십시오. 서버가 모두 정규화 된 도메인 이름 하나에 대해서만 트래픽을 제공하는 한 일반적으로 여러 서버에 인증서를 설치할 수 있습니다. 그러나 구매 대상을 확인하면 인증 기관은 혼란스러운 제품 포트폴리오를 가질 수 있습니다 ...


1
많은 발행자로부터 주체 대체 이름을 가진 인증서를 지금 구입할 수 있습니다. SAN 필드는 여러 FQDN에 유효한 인증서를 허용합니다. 경고 ... 이전 웹 클라이언트 (IE6!)에 문제가있을 수 있습니다. 경우에 따라 Subject 특성에 잘못된 FQDN이있는 경우 클라이언트가 SAN 특성을 읽지 못합니다.
Ryan Fisher

4
Willy Tarreau의 훌륭한 기사를 연결하는 데 1을 더했습니다.
Nathan Hartley

중간 규모 또는 대규모 설치의 경우 Big IP 또는 다른로드 밸런서 (위에 나열된 두 번째 옵션)에서 SSL 오프로드를 수행하면 더 빠르고, 확장 가능하며, 덜 복잡하고 (일반적으로 LB의 하나의 인증서) 인증서의 비용이 저렴하다는 장점이 있습니다. 라이센싱 측면 (다중 도메인 및 SAN 인증서는 비용이 많이 듭니다).
Darrell Teague

15

각 서버에서 동일한 인증서를 사용할 수 있어야합니다. 웹 사이트가 www.gathright.com 인 경우 해당 FQDN에 대한 인증서를 구입할 수 있습니다. 그런 다음 밸런서 뒤에있는 5 대의 서버 각각에 설치합니다.

또는 각 웹 서버에 대해 별도의 인증서를 얻을 수 있지만 '주체 대체 이름'으로 'www.gathright.com'을 포함하십시오. 즉, 5 개의 인증서 각각은 SSL뿐만 아니라 해당 일반 FQDN에 대해 SSL에 유효합니다. 특정 서버 FQDN에.


6
이 응답을 명확히하기 위해 요청을 생성 한 서버에 인증서를 설치합니다. 그런 다음 다른 서버로 가져 오기 위해 해당 서버에서 개인 키와 함께 인증서를 내 보냅니다.
찰스

도! 예, 개인 키를 내 보내야한다는 점을 언급하지 않았습니다. 고마워, 찰스
Ryan Fisher

그러나 각 서버에서 SAN 인증서를 사용하는 경우 각각 동일한 개인 키가 필요합니까?
anschoewe

@anschoewe, 아니. 그들은 각각 자신의 개인 키를 가지고 있으며 5 대의 컴퓨터가 있다면 x5의 가격을 지불해야합니다.
Alexis Wilke

1
@AlexisWilke-무슨 의미인지 확실하지 않습니다. SAN 인증서를 사용하는 경우 하나의 인증서 만 필요하므로 하나의 키와 1 개의 가격 만 있으면됩니다. SAN 인증서는 여러 서버에서 사용되어 하나 이상의 도메인에 서비스를 제공 할 수 있습니다. 서버를 추가 할 때가 아니라 도메인을 추가 할 때 가격이 상승 합니다
dwanderson

12

,로드 밸런서 뒤에 있거나로드 밸런싱 리버스 프록시가 있고 모두 동일한 도메인의 컨텐츠를 제공하는 경우 모든 서버에서 동일한 인증서 및 연관된 개인 키를 사용할 수 있습니다.

인증 기관에서 서명 한 인증서는 인증 기관이 인증서에 나열된 이름을 확인하도록 합니다. 웹 사이트 인증서의 경우 웹 사이트의 도메인 이름을 의미합니다. 브라우저는 HTTPS를 통해 대화하는 경우 대화중인 서버가 브라우저가 생각하는 도메인 이름 과 동일한 이름 을 가진 인증서를 제시 할 것으로 예상합니다 . (예를 들어, VeriSign은 bankofamerica.com에 대한 Hacker Joe의 인증서에 서명하지 않을 것입니다. 따라서 Hacker Joe가 귀하와 bankofamerica.com 사이의 트래픽을 가로 챌 수는 있지만, Hacker Joe는 bankofamerica.com 및 브라우저에 대한 서명 된 인증서를 가지고 있지 않습니다. 장소에 큰 빨간 경고 깃발을 올릴 것입니다.)

어떤 중요한 것은이다 이름 인증서의 브라우저가가 말하고 생각하는 도메인 이름과 일치합니다. 로드 밸런서 뒤에있는 한 웹 클러스터의 여러 웹 서버에서 올바른 이름을 가진 동일한 인증서 (관련된 개인 키와 함께)를 사용할 수 있습니다.

SSL 종료로드 밸런서를 사용할 수도 있습니다.이 경우로드 밸런서에서 인증서 (관련 개인 키와 함께)를 사용하면 웹 서버와 관련이 없기 때문에 인증서가 필요하지 않습니다. SSL.


6

우리의 설정은 매우 잘 작동했습니다.

https trafic
     |
   pound
     |
http traffic
     |
  haproxy
     |
http traffic 
     |
web server 1 ... web server n

이 방법으로 파운드는 트래픽을 해독합니다. 여기에서 모든 것이 바로 http입니다. 장점 : 웹 서버의 구성이 적고 각 작업에 대해 하나의 도구입니다. 파운드 시스템에서 CPU를 최대로 늘리고 웹 서버를 "정상"으로 유지할 수 있습니다. 가동 시간이 중요한 경우 각각 2 개 (파운드, haproxy, 웹 서버)를 확보해야합니다.


2
또한 백엔드 컴퓨터가 안전한 개인 네트워크에 있다고 가정합니다. 클라우드에서 항상 그런 것은 아닙니다 ...
Alexis Wilke

3

AFAIR, 각 서버에서 동일한 인증서를 사용할 수 있습니다. SSL 가속기를 구현하고 모든 SSL 트래픽을 전달할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.