ฉันกำลังพยายาม (ในฐานะ Docker stack) Matrix Synapse (matrixdotorg/synapse) ร่วมกับ Coturn (coturn/coturn) เพื่อทำงาน Matrix ทำงานร่วมกับใบรับรอง TLS ได้อย่างเต็มที่ นอกจากนี้ เซิร์ฟเวอร์ coturn ยังทำงานร่วมกับ TLS ที่ปิดใช้งานได้โดยไม่มีปัญหาใดๆ แต่เมื่อฉันเปิดใช้งาน TLS มันจะล้มเหลวโดยสิ้นเชิง
ใน homeserver.yaml ของ Matrix มีการตั้งค่า TURN ต่อไปนี้:
turn_uris: [ "turns:turn.example.com?transport=udp", "turns:turn.example.com?transport=tcp", "turn:turn.example.com?transport=udp", "เลี้ยว:เลี้ยว example.com?transport=tcp" ]
turn_shared_secret: "ความลับ"
turn_user_lifetime: 1 ชม
turn_allow_guests: จริง
นี่คือไฟล์ turnserver.conf แบบเต็ม:
การฟังพอร์ต = 3478
# tls-ฟังพอร์ต = 5349
ฟัง-ip=172.16.1.2
รีเลย์-ip=172.16.1.2
ภายนอก IP = 1.2.3.4
พอร์ตขั้นต่ำ = 49152
พอร์ตสูงสุด = 65535
ละเอียด
ใช้รับรองความถูกต้อง
คง-auth-secret=secretstuff
realm=turn.example.com
ผู้ใช้โควต้า = 12
รวมโควต้า = 1200
ไม่มีรีเลย์ tcp
ค้าง-nonce=600
cert=/etc/certs/fullchain.pem
pkey=/etc/certs/privkey.pem
ไม่มีซอฟต์แวร์แอตทริบิวต์
ไม่มีมัลติคาสต์เพียร์
ถูกปฏิเสธเพียร์-ip=10.0.0.0-10.255.255.255
ถูกปฏิเสธเพียร์-ip=172.16.0.0-172.31.255.255
ปฏิเสธเพียร์-ip=192.168.0.0-192.168.255.255
อนุญาตเพียร์-ip=172.16.1.2
pidfile="/var/tmp/turnserver.pid"
ไม่มีคลิ
ไม่ใช่ tlsv1
ไม่ใช่ tlsv1_1
หากฉันปิดใช้งานการฟัง TLS (บรรทัดแสดงความคิดเห็น) ทุกอย่างจะทำงานได้อย่างสมบูรณ์
แต่ทันทีที่ฉันเปิดใช้งานการฟัง TLS จะไม่สามารถทำการเชื่อมต่อได้ (ปุ่มโทรสร้างการโทรและมันดังที่อีกด้านหนึ่ง แต่เมื่อฉันรับสาย มันบอกว่า "กำลังเชื่อมต่อ" และยังคงอยู่ในสถานะนั้น
ฉันไม่ได้รับคำใบ้ที่เป็นประโยชน์ในบันทึก
ใบรับรอง TLS บนเซิร์ฟเวอร์ TURN มีไว้สำหรับ "turn.example.com" - ชื่อ realm ของเซิร์ฟเวอร์
ฉันได้ลองทุกสิ่งที่ฉันพบทางออนไลน์แล้ว - ใน GitHub และในบทช่วยสอน แต่ไม่มีอะไรทำงาน
เนื่องจากมีการใช้สมาร์ทโฟน Android ของอุปกรณ์ปลายทางที่มีแอป Element