2013-03-13 4 views
11

Nginx를 https 서버용로드 밸런서로 설정하려고합니다. 업스트림은 SSL 인증서가 구성된 포트 443을 통해 제공됩니다. SSL 인증서 구성이 Nginx 서버가 아닌 업스트림 서버에서만 처리되도록 Nginx를 구성하는 방법은 무엇입니까?Nginx로드 밸런스와 업스트림 SSL

+0

당신이 게시하시기 바랍니다 수 구성에 따라 가능해 보인다? –

답변

13

Upstream moduleReverse Proxy module을 사용해야합니다. 프록시를 https 업스트림으로 리버스하려면이 코드를 사용하십시오.

proxy_pass https://backend; 

백엔드는 업 스트림 블록입니다.

그러나이 작업을 수행했다면 nginx 서버에서 ssl을 종료하고 ssl 암호화/암호 해독 오버 헤드에 대해 걱정하지 않고 콘텐츠를 제공하는 업스트림 응용 프로그램 서버를 만들었습니다. nginx에서 ssl 종료 설정은 SSL module을 사용하여 매우 간단합니다. 아주 좋은 사례 연구도 here으로 주어집니다.

+0

샘플 구성은 무엇입니까? 브라우저에 "ssl_error_rx_record_too_long"이 표시되고 NGINX 오류 로그에는 아무것도 표시되지 않습니다. –

+0

이 답변으로 문제가 해결됩니까? http://serverfault.com/questions/497430/error-code-ssl-error-rx-record-too-long –

+1

아니요, 시도했습니다. 이 샘플의 설정 파일은 내가하지 않는 SSL 인증서를 정의합니다 (NGINX 서버에 아무 것도 없기 때문에). –

3

Nginx 포럼의 reading relevant discussion에서 알 수 있듯이 Nginx가 업스트림 SSL 연결을 종료해야하므로 불가능합니다. Nginx 사용을 주장하는 경우 SSL 구성을 복제하고 인증서와 키를 Nginx에서 사용할 수 있도록 남겨 두었습니다.

내가 링크 된 토론은 HAProxy가 SSL 업스트림 패스 스루에 대해 훨씬 더 나은 도구라고 결론지었습니다. 여기에 relevant post 그런 목적으로 HAProxy를 구성하는 방법을 찾았습니다. HAProxy 경험이 없기 때문에 솔루션의 구성이나 일반적인 실행 가능성을 요약하여 리더에게 남겨 둘 수는 없습니다.

업데이트

은 1.9.2 이후의 Nginx는 HAProxy의 proxy protocol 지원합니다.

관련 문제