차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

haproxy_ssl_설정 [2019/07/05 15:24]
koov 만듦
haproxy_ssl_설정 [2019/09/13 23:59] (현재)
koov
줄 44: 줄 44:
 </​code>​ </​code>​
 </​WRAP>​ </​WRAP>​
 +
 +
 +===== 여러 인증서 하나로 설정 =====
 +
 +==== let's encrypt 인증서 ====
 +일단 let's encrypt로 인증서를 발급받게 되면 아래와 같이 4개의 파일이 생성된다.
 +  * cert.pem
 +  * chain.pem
 +  * fullchain.pem
 +  * privkey.pem
 +
 +이 중 fullchain.pem을 제외한 3개의 파일을 하나로 합쳐준다.
 +
 +<WRAP prewrap>
 +<code bash>
 +# cat cert.pem privkey.pem chain.pem > all.pem
 +</​code>​
 +</​WRAP>​
 +
 +'​crt-list.txt'​ 파일 내에 아래와 같이 합쳐놓은 인증서 목록을 기입힌다.
 +
 +<WRAP prewrap>
 +<code vim crt-list.txt>​
 +all.pem
 +site1.pem
 +site2.pem
 +...
 +</​code>​
 +</​WRAP>​
 +
 +또한 발급기관인 letsencrypt의 chain.pem인증서를 ca.pem으로 별도 복사한다.
 +
 +이후 ''​haproxy.cfg''​ 설정에 아래와같이 설정을 하면 해결된다.
 +
 +<WRAP prewrap>
 +<code vim>
 +...
 +frontend web
 +        bind *:80
 +        #bind *:443 ssl crt /​etc/​haproxy/​ssl/​nas.koov.net.pem crt /​etc/​haproxy/​ssl/​allthatlinux.com.pem crt /​etc/​haproxy/​ssl/​linuxdata.kr.pem crt /​etc/​haproxy/​ssl/​dev.koov.net.pem crt /​etc/​haproxy/​ssl/​jenkins.koov.net.pem ​ # 기존에 하나씩 모두 기입하는 방법
 +        bind *:443 ssl crt-list /​etc/​haproxy/​ssl/​crt-list.txt ca-file /​etc/​haproxy/​ssl/​ca.pem verify optional # 한 파일에 모두 기입하는 방법
 +        reqadd X-Forwarded-Proto:​\ https
 +        http-request set-header X-SSL %[ssl_fc]
 +        http-response set-header Cache-Control no-cache,\ max-age="​600"​
 +...
 +</​code>​
 +</​WRAP>​
 +
  
  • haproxy_ssl_설정.txt
  • 마지막으로 수정됨: 2019/09/13 23:59
  • 저자 koov