ฉันได้พยายามหาคำตอบสำหรับสิ่งนี้และฉันก็ว่างเปล่า
ฉันมีใบรับรองจาก LetsEncrypt ที่ฉันใช้สำหรับความต้องการ SSL ทั้งหมดของฉัน ใช้ได้กับชื่อ DNS ทั้งหมดที่ฉันพยายามใช้ วันนี้ฉันพยายามทำให้มันใช้งานได้กับ MySQL แต่ MySQL ยืนยันที่จะใช้ใบรับรองที่ลงนามเอง
เวอร์ชัน MySQL คือ 8.0.26-0ubuntu0.20.04.2 จากแพ็คเกจ Ubuntu
ฉันได้สร้าง /etc/mysql/mysql.conf.d/zz-ssl.conf ด้วยเนื้อหาเหล่านี้:
[มายเอสคิวลด์]
ssl-ca=/etc/ssl/certs/local/mainchain.pem
ssl-cert=/etc/mysql/cert.pem
ssl-key=/etc/mysql/cert.pem
[ระบบ_default_sect]
โปรโตคอลขั้นต่ำ = TLSv1.2
แต่บันทึกบอกว่า:
2021-08-08T16:16:57.982003Z 0 [คำเตือน] [MY-013746] [เซิร์ฟเวอร์] เปิดใช้งาน TLS เวอร์ชัน TLS ที่เลิกใช้แล้วสำหรับแชนเนล mysql_main
2021-08-08T16:16:57.982227Z 0 [คำเตือน] [MY-013746] [เซิร์ฟเวอร์] มีการเปิดใช้งาน TLS เวอร์ชัน TLSv1.1 ที่เลิกใช้แล้วสำหรับแชนเนล mysql_main
2021-08-08T16:16:57.983344Z 0 [คำเตือน] [MY-010068] [เซิร์ฟเวอร์] ใบรับรอง CA ca.pem ลงนามด้วยตนเอง
ฉันพยายามลบ /var/lib/mysql/*.pem ... แต่เมื่อฉันรีสตาร์ท mysql ไฟล์เหล่านั้นทั้งหมดกลับมาพร้อมกับการประทับเวลาที่อัปเดต ดูเหมือนว่า MySQL จะใช้ใบรับรองที่ลงนามเองและไม่ใช่ใบรับรองที่ฉันได้กำหนดค่าไว้ ฉันคิดว่าฉันขาดบางสิ่งที่ควรชัดเจนแต่ไม่ใช่
ไฟล์ /etc/mysql/cert.pem ที่อ้างอิงในการกำหนดค่าของฉันเป็นของ mysql:mysql และมีสิทธิ์ 0600 เป็นสำเนาของไฟล์ใบรับรองที่ฉันใช้สำหรับอย่างอื่น มีใบรับรองเซิร์ฟเวอร์ คีย์ส่วนตัว และใบรับรองการออก LetsEncrypt