在该线程之后,并从
net/http/#ListenAndServeTLS()doc中开始:
如果证书是由证书颁发机构签名的,则certFile应该是服务器证书,任何中间件和CA证书的串联。
尝试确保您也
cert/myalcoholist.pem包括CA证书。
该线程使用了:
myTLSConfig := &tls.Config{ CipherSuites: []uint16{ tls.TLS_RSA_WITH_RC4_128_SHA, tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA, tls.TLS_RSA_WITH_AES_128_CBC_SHA, tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA},}myTLSConfig.PreferServerCipherSuites = trueconst myWebServerListenAddress = "0.0.0.0:5555"myTLSWebServer := &http.Server{Addr: myWebServerListenAddress, TLSConfig: myTLSConfig, Handler: router}if err = myTLSWebServer.ListenAndServeTLS("/home/loongson/webServerKeysV2/golangCertFile2", "/home/loongson/webServerKeysV2/adequatech.ca-comodoinstantssl-exported-privatekey-rsa-ForApache.key"); err != nil { panic(err)}与我之前的答案相比,添加密码套件是一个好主意,但是再次尝试查看传递给
ListenAndServeTLS它的证书文件是否包含CA的效果更好。
果然,https://www.ssllabs.com/ssltest/analyze.html?d =
myalcoholist.com报告等级为A,警告:“链条问题:包含锚点”。
请参阅“ SSL / TLS:如何解决“链接问题:包含锚点”
”以删除该警告,但这不是错误:
RFC
2119:允许服务器在链中包含或拒绝根证书(也称为“信任锚”)。一些服务器包括它



