HA 프록시가 SSL 검증에 실패함

HA 프록시가 SSL 검증에 실패함

HA에서 Godaddy 와일드카드 인증서를 사용하고 있습니다.(와일드카드.pem)백엔드의 사용자 정의 CA 인증서. 사내 CA는 HA와 모든 서버에서 신뢰됩니다. 문제 없이 모든 백엔드 서버에 개별적으로 액세스할 수 있지만 SSL 유효성 검사를 활성화하면 상태 확인이 거의 즉시 503 오류와 함께 실패합니다.

HA 구성

frontend api.qa.domain.com_esil_HTTPS_443_VS_172.20.25.69
    mode http
    bind 172.20.25.69:80
    bind 172.20.25.69:443 ssl crt /etc/hapee-2.4/ssl/Wildcard.pem ciphers ECDHE-RSA-AES128-CBC-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-CBC-SHA:AES128-SHA:AES256-SHA:ECDHE-ECDSA-AES128-SHA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS ssl-min-ver TLSv1.2
    http-after-response replace-header set-cookie "^(my.session=.*)" "\1; SameSite=Strict" 
    http-request set-var(txn.path) path
    http-request set-var(req.backend) str(api.qa.domain.com_loggingservices_http_33313_POOL) if { path -i -m beg /loggingservice/ }
    
    use_backend %[var(req.backend)]

    backend api.qa.domain.com_loggingservice_http_333_POOL
    mode http
    http-request return status 503 content-type "text/html; charset=utf-8" lf-file /etc/hapee-2.4/apps/app_offline.htm if { nbsrv() le 0 }

    balance roundrobin
    dynamic-cookie-key Av3ryS3curek3y
    option httpchk GET /loggingservice/v1/_healthcheck HTTP/1.1
    http-check send hdr host api.qa.domain.com
    http-check expect status 200
    server QA_SERVER1_Node 10.133.20.24:333 check ssl verify none

CA를 사용하여 생성한 백엔드 인증서를 GoDaddy pem 파일과 병합해야 합니까? 그렇다면 올바른 순서는 무엇입니까?

답변1

예, HAProxy 백엔드 서버 구성에서 ca-file 옵션의 값으로 사용할 수 있는 결합된 인증서 파일을 생성하려면 사용자 지정 CA 인증서를 GoDaddy 인증서 파일과 병합해야 합니다. 결합된 파일의 올바른 인증서 순서는 다음과 같습니다.

리프 인증서(GoDaddy 와일드카드 인증서)

중간 인증서(GoDaddy의 인증서 체인)

루트 인증서(사용자 정의 CA 인증서)

결합된 인증서 파일을 생성하려면 텍스트 편집기를 사용하여 각 인증서 파일의 내용을 올바른 순서로 단일 파일에 복사하고 붙여넣을 수 있습니다. 또는 다음과 같이 Linux에서 cat 명령을 사용하여 파일을 연결할 수 있습니다.

cat leaf.crt intermediate.crt customCA.crt > combined_cert.pem

결합된 인증서 파일을 생성한 후에는 다음과 같이 ssl verify 필수 ca-file 옵션을 사용하도록 HAProxy 백엔드 서버 구성을 업데이트할 수 있습니다.

backend api.qa.domain.com_loggingservice_http_333_POOL
    mode http
    http-request return status 503 content-type "text/html; charset=utf-8" lf-file /etc/hapee-2.4/apps/app_offline.htm if { nbsrv() le 0 }

    balance roundrobin
    dynamic-cookie-key Av3ryS3curek3y
    option httpchk GET /loggingservice/v1/_healthcheck HTTP/1.1
    http-check send hdr host api.qa.domain.com
    http-check expect status 200
    server QA_SERVER1_Node 10.133.20.24:333 check ssl verify required ca-file /path/to/combined_cert.pem

이 구성을 사용하면 HAProxy는 사용자 지정 CA 인증서를 사용하여 백엔드 서버에서 제공한 SSL 인증서를 확인하고 인증서가 유효한 경우 상태 확인을 통과해야 합니다.

관련 정보