SSL 문제: GoDaddy 인증서의 불완전한 인증서 체인
GoDaddy의 SSL 인증서를 사용하여 HTTPS 웹 서버를 설정할 때 오류가 발생할 수 있습니다. "이 서버의 인증서 체인이 불완전합니다." 이는 Go 코드의 잘못된 구성으로 인해 발생할 수 있습니다.
해결책:
이 문제를 해결하려면 ListenAndServeTLS()에 사용된 인증서 파일에 전체 인증서가 포함되어 있는지 확인하세요. 인증서 체인. 여기에는 서버의 인증서, 중간 인증서(있는 경우) 및 루트 CA 인증서가 포함됩니다.
코드에서 현재 기본 인증서 파일과 개인 키를 로드하고 있지만 번들 파일이 누락되었습니다. , 일반적으로 중간 인증서가 포함되어 있습니다.
다음 줄을
err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")
다음 줄로 바꾸세요.
cert, err := tls.LoadX509KeyPair("cert/myalcoholist.pem","cert/myalcoholist.key") if err != nil { log.Fatalf("server: loadkeys: %s", err) } pem, err := ioutil.ReadFile("cert/cert/sf_bundle-g2-g1.crt") if err != nil { log.Fatalf("Failed to read client certificate authority: %v", err) } if !certpool.AppendCertsFromPEM(pem) { log.Fatalf("Can't parse client certificate authority") } tlsConfig := &tls.Config{ ClientCAs: certpool, Certificates: []tls.Certificate{cert}, } srv := &http.Server{ Addr: "myalcoholist.com:443", Handler: n, ReadTimeout: time.Duration(5) * time.Second, WriteTimeout: time.Duration(5) * time.Second, TLSConfig: tlsConfig, } err := srv.ListenAndServeTLS("cert/myalcoholist.pem","cert/myalcoholist.key")
이렇게 하면 전체 인증서 체인이 로드되고 그에 따라 TLSConfig를 구성하세요.
추가 팁:
위 내용은 Go에서 GoDaddy\의 SSL 인증서에 \'불완전한 인증서 체인\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!