ขณะนี้ฉันได้ตั้งค่าตัวจัดการโหลด AWS แบบคลาสสิกด้วยตัวฟัง SSL และใบรับรองสาธารณะที่ออกผ่านตัวจัดการใบรับรอง AWS เช่น แบบสอบถาม. mydomain
. สิ่งนี้เปลี่ยนเส้นทางไปยังอินสแตนซ์ HiveServer2/Thrift
ฉันกำลังเชื่อมต่อกับปลายทางสาธารณะโดยใช้เส้นตรงดังนี้:
เส้นตรง -u "jdbc:hive2://query.mydomain:10100/default;ssl=true" -n <ชื่อผู้ใช้> -p <รหัสผ่าน> --verbose=true -d org.apache.hive.jdbc.HiveDriver
ด้วยเหตุผลบางอย่าง ไคลเอ็นต์บ่นเกี่ยวกับชื่อโฮสต์ของอินสแตนซ์โหลดบาลานเซอร์ที่ไม่ปรากฏในใบรับรอง
ขุด + สั้น query.mydomain @resolver1.opendns.com
13.54.30.146
13.54.75.233
3.106.25.71
เกิดจาก: java.security.cert.CertificateException: ไม่พบชื่อ DNS ทางเลือกที่ตรงกับ ec2-13-54-30-146.ap-southeast-2.compute.amazonaws.com
ที่ java.base/sun.security.util.HostnameChecker.matchDNS (HostnameChecker.java:212)
ที่ java.base/sun.security.util.HostnameChecker.match (HostnameChecker.java:103)
ที่ java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:452)
ที่ java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:412)
ที่ java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:238)
ที่ java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
ที่ java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
... 46 เพิ่มเติม
เหตุใดจึงคาดว่าชื่อโฮสต์อินสแตนซ์ loadbalancer จะอยู่ในใบรับรอง ฉันทำอะไรผิดหรือเปล่า?