เซิร์ฟเวอร์ Matrix สามารถอยู่เบื้องหลัง Cloudflare ได้ แต่การตั้งค่าจะขึ้นอยู่กับว่าไคลเอนต์และโฮมเซิร์ฟเวอร์อื่นๆ ค้นพบเซิร์ฟเวอร์นั้นได้อย่างไร พร็อกซี HTTP มาตรฐานของ Cloudflare รองรับ HTTPS บนพอร์ต 443; โดยทั่วไปแล้ว Synapse federation จะใช้พอร์ต 8448 เป็นค่าเริ่มต้น ซึ่งไม่อยู่ในรายการพอร์ตพร็อกซีมาตรฐานของ Cloudflare วิธีที่น่าเชื่อถือคือการเปิดเผย Synapse ผ่าน reverse proxy บนพอร์ต 443 และเผยแพร่เรคอร์ดที่รู้จักกันดีของ Matrix เพื่อนำทางไคลเอนต์และทราฟฟิก federation ไปยังชื่อโฮสต์นั้น หรืออีกทางเลือกหนึ่งคือ ให้ federation อยู่บนพอร์ต 8448 และตั้งค่าเรคอร์ด DNS นั้นเป็น DNS-only
@alice:example.comคู่มือนี้ใช้ Synapse ซึ่งเป็นการใช้งานโฮมเซิร์ฟเวอร์อย่างเป็นทางการของ Matrix โดยใช้ Matrix ID และ Client Endpoint ตัวอย่างmatrix.example.comโปรดแทนที่ชื่อและที่อยู่เหล่านี้ด้วยชื่อและที่อยู่ของคุณเอง คำแนะนำเหล่านี้สมมติว่าได้ติดตั้ง Synapse และ HTTPS Reverse Proxy แล้ว คำแนะนำเหล่านี้อาจใช้ไม่ได้กับทุกการใช้งานโฮมเซิร์ฟเวอร์โดยตรง ตรวจสอบกับเอกสาร Synapse ของ Cloudflare และ Element ฉบับปัจจุบัน ณ วันที่ 6 ตุลาคม 2026
เลือกรูปแบบเครือข่ายที่เหมาะสม
พร็อกซี orange-cloud ของ Cloudflare เป็นรีเวิร์สพร็อกซี HTTP/HTTPS มันทำหน้าที่อยู่ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ต้นทางของคุณสำหรับคำขอเว็บที่ส่งผ่านพร็อกซี โดยไม่ได้พร็อกซีทุกพอร์ต TCP พอร์ต HTTPS มาตรฐานของมันได้แก่ 443 และ 8443 แต่ไม่รวมพอร์ต 8448 ซึ่งเป็นพอร์ตที่ Synapse ใช้กันทั่วไป โปรดดูรายละเอียด พอร์ตเครือข่ายที่รองรับ และข้อจำกัดในการพร็อกซีของCloudflare
| เค้าโครง | คลาวด์แฟลร์ DNS | การค้นพบของสหพันธ์ | ใช้เมื่อ |
|---|
| สหพันธ์บน HTTPS 443 | matrix.example.comพร็อกซี | example.com/.well-known/matrix/serverคะแนนไปยังmatrix.example.com:443 | คุณต้องการให้ทราฟฟิกจากไคลเอ็นต์และเฟเดอเรชันผ่านพร็อกซี HTTP ของ Cloudflare ตามปกติ |
| สหพันธ์เมื่อวันที่ 8448 | ชื่อโฮสต์ของไคลเอ็นต์ถูกส่งผ่านพร็อกซี; ชื่อโฮสต์ของเฟเดอเรชันถูกส่งผ่าน DNS เท่านั้น | โฆษณาเซิร์ฟเวอร์บนพอร์ต 8448 หรือใช้เป้าหมายการมอบหมายที่เหมาะสม | คุณต้องการคงพอร์ตเฟเดอเรชันเริ่มต้นของ Synapse ไว้ และยอมรับการเชื่อมต่อโดยตรงไปยังต้นทางสำหรับการทำเฟเดอเรชัน |
รูปแบบแรกแสดงอยู่ด้านล่าง ระเบียน DNS ที่ใช้พร็อกซีนั้นไม่ได้กำหนดค่าการค้นหาของ Matrix, การทำพร็อกซีแบบย้อนกลับ, TLS หรือนโยบายไฟร์วอลล์โดยอัตโนมัติ
1. กำหนดชื่อเซิร์ฟเวอร์ Matrix ก่อนทำการตั้งค่า DNS
ชื่อเซิร์ฟเวอร์ Matrix คือส่วนที่อยู่หลังเครื่องหมายโคลอนในรหัสผู้ใช้ ในตัวอย่างนี้คือexample.comดังนั้นผู้ใช้จึงมีรหัสเช่น@alice:example.comชื่อโฮสต์ไคลเอ็นต์ทางเทคนิคคือmatrix.example.comการแยกส่วนนี้ช่วยให้โดเมนที่ใช้ในรหัสผู้ใช้คงที่ในขณะที่การรับส่งข้อมูลถูกส่งต่อไปยังชื่อโฮสต์อื่น หาก Synapse ได้รับการเริ่มต้นใช้งานแล้ว อย่าเปลี่ยนserver_nameโดยพลการ: มันเป็นส่วนหนึ่งของข้อมูลประจำตัวผู้ใช้และห้อง และการเปลี่ยนแปลงมันคือการย้ายข้อมูล ไม่ใช่การปรับแต่งพร็อกซี
วางแผนที่จะให้บริการเอกสารค้นหาข้อมูล JSON ขนาดเล็กสองฉบับจากโดเมนชื่อเซิร์ฟเวอร์:
https://example.com/.well-known/matrix/clientแจ้งให้ไคลเอ็นต์ที่เข้ากันได้ใช้https://matrix.example.com.https://example.com/.well-known/matrix/serverแจ้งให้โฮมเซิร์ฟเวอร์อื่นๆ ติดต่อเฟเดอเรชั่นที่matrix.example.com:443.
เอกสารฝั่งไคลเอ็นต์จำเป็นต้องมีAccess-Control-Allow-Origin: *ส่วนหัวการตอบกลับ คู่มือการมอบหมายอำนาจของ Synapse มีตัวอย่างของระเบียนเหล่านี้และโครงสร้างที่คาดหวังไว้: การมอบหมาย อำนาจแบบสหพันธ์ของ Synapse
2. สร้างระเบียน DNS ของ Cloudflare
ใน Cloudflare DNS ให้สร้างAเรคอร์ดชื่อmatrixที่ชี้ไปยังที่อยู่ IPv4 สาธารณะของเซิร์ฟเวอร์ เพิ่มเรAAAAคอร์ดเฉพาะในกรณีที่ต้นทางมีการเชื่อมต่อ IPv6 ที่ใช้งานได้และมีการกำหนดค่าไฟร์วอลล์สำหรับ IPv6 ตั้งค่าสถานะพร็อกซีของชื่อโฮสต์เว็บเป็นProxied (ไอคอนรูปเมฆสีส้ม) หากโดเมนหลักชี้ไปยังเซิร์ฟเวอร์นี้และจะให้บริการไฟล์ที่รู้จักกันดี ให้พร็อกซีเรคอร์ดเว็บของโดเมนหลักด้วย
เก็บระเบียนที่ไม่เกี่ยวข้อง รวมถึงระเบียนอีเมล ไว้ที่การตั้งค่า DNS เท่านั้นที่เหมาะสม ระเบียน MX และ TXT จะไม่ถูกส่งผ่านพร็อกซี Cloudflare อธิบายว่าระเบียน A, AAAA หรือ CNAME ที่ถูกส่งผ่านพร็อกซีจะส่งคำขอ HTTP/HTTPS ผ่าน Cloudflare ในขณะที่ DNS เท่านั้นจะส่งคืนที่อยู่ต้นทางโดยตรง: พฤติกรรมสถานะพร็อก ซีของ Cloudflare
อนุญาตการรับส่งข้อมูล HTTPS ขาเข้าจาก Cloudflare ไปยังเซิร์ฟเวอร์ต้นทาง เพื่อการป้องกันที่ดียิ่งขึ้น ให้จำกัดไฟร์วอลล์ของเซิร์ฟเวอร์ต้นทางให้เฉพาะช่วง IP ที่ Cloudflare เผยแพร่ไว้ และอัปเดตช่วง IP เหล่านั้นอยู่เสมอ หาก IP ของเซิร์ฟเวอร์ถูกเปิดเผยก่อนที่โซนจะเปิดใช้งาน การใช้พร็อกซี DNS จะไม่ทำให้ที่อยู่เก่าเหล่านั้นเป็นโมฆะ โปรดพิจารณาเปลี่ยน IP ของเซิร์ฟเวอร์ต้นทางหลังจากเปิดใช้งานแล้ว อย่าคิดว่าเฉพาะไอคอนคลาวด์สีส้มจะป้องกันการเข้าถึงโดยตรงจากเซิร์ฟเวอร์ต้นทางได้
3. กำหนดค่า HTTPS ระหว่าง Cloudflare และเซิร์ฟเวอร์ต้นทาง
ในการตั้งค่า SSL/TLS ของ Cloudflare ให้ใช้Full (strict)เมื่อต้นทางแสดงใบรับรองที่ถูกต้องสำหรับชื่อโฮสต์ เช่น ใบรับรองที่เชื่อถือได้จากสาธารณะ หรือใบรับรอง Cloudflare Origin CA โหมด Full (strict) จะเข้ารหัสการเชื่อมต่อจาก Cloudflare ไปยังต้นทางและตรวจสอบความถูกต้องของใบรับรองต้นทาง โหมด Flexible ไม่ได้ให้เส้นทาง TLS แบบ end-to-end เช่นเดียวกัน โปรดดูเอกสารประกอบของ Cloudflare เกี่ยวกับ Full (strict)
ติดตั้งใบรับรองและคีย์ส่วนตัวบนพร็อกซีแบบย้อนกลับ ไม่จำเป็นต้องติดตั้งใน Synapse พร็อกซีแบบย้อนกลับควรรับฟังที่พอร์ตสาธารณะ 443 และส่งต่อคำขอจาก Matrix ไปยังตัวรับฟัง HTTP ภายในของ Synapse ซึ่งโดยทั่วไปคือพอร์ต 8008 อย่าเปิดเผยตัวรับฟังของ Synapse สู่สาธารณะหากพร็อกซีแบบย้อนกลับมีจุดประสงค์เพื่อเป็นจุดเข้าใช้งานเพียงจุดเดียว
4. แจ้งให้ Synapse ทราบว่าระบบอยู่เบื้องหลังพร็อกซีแบบย้อนกลับที่เชื่อถือได้
ในตัวรับฟัง HTTP ที่เกี่ยวข้องในhomeserver.yamlให้เปิดใช้งานการจัดการส่วนหัวที่ส่งต่อ ตัวอย่างแบบง่ายสำหรับเซิร์ฟเวอร์ที่ไม่ใช้คอนเทนเนอร์มีดังนี้:
listeners:
- port: 8008
type: http
tls: false
x_forwarded: true
bind_addresses: ['127.0.0.1']
resources:
- names: [client, federation]
compress: false
รวมการตั้งค่าเหล่านี้เข้ากับ Listener ที่มีอยู่แทนที่จะแทนที่การกำหนดค่าทั้งหมด เอกสารประกอบของ Synapse แนะนำให้x_forwarded: trueใช้ผ่าน Reverse Proxy และแนะนำให้ผูกกับ localhost เมื่อ Proxy ทำงานบนโฮสต์เดียวกัน สำหรับการใช้งานในคอนเทนเนอร์ การผูก Synapse กับ Loopback ของคอนเทนเนอร์อาจป้องกันไม่ให้ Proxy ของโฮสต์เข้าถึงได้ ให้ใช้ที่อยู่เครือข่ายของคอนเทนเนอร์หรือบริการ และกำหนดไฟร์วอลล์ให้กับเส้นทางนั้นแทน ตรวจสอบคู่มือ Reverse Proxy ของ Synapse ฉบับปัจจุบัน ก่อนเปลี่ยนการตั้งค่า Listener
ส่วนหัวที่ส่งต่อมานั้นเชื่อถือได้ก็ต่อเมื่อ Synapse ยอมรับการรับส่งข้อมูลจากพร็อกซีที่คุณควบคุมเท่านั้น หาก Cloudflare เป็นเส้นทางเดียวที่เชื่อมต่อกับอินเทอร์เน็ต ให้ป้องกันการเข้าถึงสาธารณะโดยตรงไปยังต้นทางและกำหนดค่าพร็อกซีให้ส่งผ่านที่อยู่ไคลเอ็นต์ที่ถูกต้อง$remote_addrมิฉะนั้น ที่อยู่ของ Nginx จะเป็นที่อยู่ของ Cloudflare เนื่องจาก Cloudflare เชื่อมต่อกับ Nginx กำหนดค่าโมดูล real-IP ของ Nginx ให้เชื่อถือเฉพาะช่วงที่อยู่ต้นทางที่เผยแพร่ของ Cloudflare ก่อนใช้งานCF-Connecting-IPอย่าเชื่อถือส่วนหัวนั้นจากไคลเอ็นต์อินเทอร์เน็ตที่ไม่ได้รับอนุญาต เก็บ API สำหรับผู้ดูแลระบบของ Synapse ไว้เป็นส่วนตัว เว้นแต่คุณจะมีเหตุผลเฉพาะที่จะเปิดเผย
5. กำหนดเส้นทางเมทริกซ์โดยไม่ต้องเขียนทับเส้นทางเดิม
กำหนดค่าพร็อกซีแบบย้อนกลับของคุณให้ส่งทั้งสองอย่าง ไป /_matrixยัง/_synapse/clientSynapse รักษา URI ของคำขอไว้ให้เหมือนเดิมทุกประการ ลายเซ็นคำขอการรวมระบบของ Synapse อาจล้มเหลวหากพร็อกซีถอดรหัสหรือปรับรูปแบบส่วนของเส้นทางที่เข้ารหัส
ต่อไปนี้เป็นตัวอย่าง Nginx แบบกระชับสำหรับmatrix.example.comโดยสมมติว่าคำสั่งใบรับรอง TLS ของคุณได้รับการกำหนดค่าไว้แล้วสำหรับบล็อกเซิร์ฟเวอร์นี้ และพร็อกซีแบบย้อนกลับและ Synapse ทำงานอยู่บนโฮสต์เดียวกัน:
server {
listen 443 ssl;
server_name matrix.example.com;
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://127.0.0.1:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_http_version 1.1;
client_max_body_size 50M;
}
}
อย่าเพิ่มส่วนต่อท้าย URI ให้กับตำแหน่ง regex นี้proxy_passเอกสารพร็อกซีของ Synapse ระบุว่าการแปลง URI เป็นรูปแบบมาตรฐานเป็นสาเหตุของข้อผิดพลาดในการลงนามแบบเฟเดอเรชัน นอกจากนี้ ให้ปรับค่าclient_max_body_sizeให้ตรงกับขีดจำกัดการอัปโหลดของ Synapse และขีดจำกัดของแผน Cloudflare ที่ใช้กับโซนของคุณ50Mค่าข้างต้นเป็นเพียงตัวอย่าง ไม่ใช่คำแนะนำทั่วไป
Cloudflare รองรับ WebSockets ในแพ็กเกจต่างๆ และไคลเอ็นต์ Matrix สามารถใช้การเชื่อมต่อที่มีอายุการใช้งานยาวนานได้ โปรดตรวจสอบให้แน่ใจว่าพร็อกซีของคุณอนุญาตการอัปเกรด และกฎ WAF หรือกฎจำกัดอัตราการใช้งานใดๆ ไม่ปฏิเสธคำขอ Matrix ที่ถูกต้องเอกสารประกอบของ Cloudflare เกี่ยวกับ WebSocketsจะอธิบายถึงวิธีการจัดการการเชื่อมต่อที่ได้รับการอัปเกรดแล้ว
6. เผยแพร่คำตอบที่เป็นที่รู้จักกันดี
ส่งการตอบกลับสองรายการต่อไปนี้example.comผ่าน HTTPS คุณสามารถส่งคืนจากเว็บเซิร์ฟเวอร์ของคุณ โฮสต์แบบคงที่ หรือโฮสต์เสมือนแยกต่างหากได้ โปรดแยกเอกสารฝั่งไคลเอนต์และเอกสารฝั่งเฟเดอเรชันออกจากกัน:
GET /.well-known/matrix/client
HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
{"m.homeserver":{"base_url":"https://matrix.example.com"}}
GET /.well-known/matrix/server
HTTP/1.1 200 OK
Content-Type: application/json
{"m.server":"matrix.example.com:443"}
อย่าใช้การเปลี่ยนเส้นทางไปยังโฮสต์ที่ไม่เกี่ยวข้องเป็นตัวแทนโดยไม่ตรวจสอบข้อกำหนดการค้นหาของ Matrix และพฤติกรรมของไคลเอ็นต์ ตรวจสอบให้แน่ใจว่าโฮสต์ชื่อเซิร์ฟเวอร์ได้รับการคุ้มครองโดยใบรับรอง HTTPS ที่ถูกต้อง และ Cloudflare ไม่แคชการตอบสนองการค้นหาที่ล้าสมัยในขณะที่คุณกำลังเปลี่ยนแปลง
7. รักษาปริมาณการใช้งาน API ให้มีความยืดหยุ่นและจำกัดการอัปโหลดให้อยู่ในขอบเขตที่กำหนด
อย่าแคชการตอบสนองของ API Matrix ที่ผ่านการตรวจสอบสิทธิ์แล้ว เพิ่มกฎการแคชของ Cloudflare เพื่อข้ามการแคชสำหรับเส้นทาง API ของ Matrix รวมถึง/_matrix/*และ/_synapse/client/*เว้นแต่คุณจะมีเหตุผลที่ผ่านการทดสอบอย่างรอบคอบในการจัดการการตอบสนองสาธารณะเฉพาะอย่างแตกต่างออกไป หลีกเลี่ยงกฎ WAF หรือบอทแบบกว้างๆ ที่ท้าทายหรือบล็อกปลายทางของเฟเดอเรชัน เนื่องจากคำขอเฟเดอเรชันมาจากโฮมเซิร์ฟเวอร์อิสระหลายแห่ง หากจำเป็นต้องมีกฎความปลอดภัย ให้ทดสอบกับขั้นตอนการเข้าสู่ระบบของไคลเอ็นต์ การซิงค์ การอัปโหลดสื่อ และเฟเดอเรชันก่อนที่จะบังคับใช้โดยทั่วไป
การอัปโหลดมีข้อจำกัดอิสระหลายประการ ได้แก่ ข้อจำกัดของไคลเอ็นต์ การตั้งค่าการอัปโหลดของแผนหรือโซนของ Cloudflare ข้อจำกัดขนาดเนื้อหาของรีเวิร์สพร็อกซี และข้อจำกัดของ Synapse max_upload_sizeข้อผิดพลาด 413 หมายความว่าข้อจำกัดใดข้อจำกัดหนึ่งปฏิเสธคำขอ Cloudflare เผยแพร่ข้อจำกัดการอัปโหลดที่ขึ้นอยู่กับแผน และระบุว่าสามารถปรับการตั้งค่าเหล่านี้ได้ภายในข้อจำกัดที่ระบุไว้: หน้าการแก้ไขปัญหา 413 ของ Cloudflareเพิ่มเฉพาะข้อจำกัดที่จำเป็น และทดสอบด้วยไฟล์ที่มีขนาดเล็กกว่าขนาดที่กำหนดไว้ก่อนที่จะเพิ่มข้อจำกัดเพิ่มเติม
8. ตรวจสอบการเข้าถึงของลูกค้า การค้นหา และการเชื่อมโยงระบบ
เรียกใช้การตรวจสอบเหล่านี้จากเครื่องที่อยู่นอกเครือข่ายเซิร์ฟเวอร์ของคุณ แทนที่ชื่อโฮสต์ในตัวอย่างด้วยชื่อที่ถูกต้อง:
curl -i https://example.com/.well-known/matrix/client
curl -i https://example.com/.well-known/matrix/server
curl -i https://matrix.example.com/_matrix/client/versions
curl -i https://matrix.example.com/health
คำขอสองรายการแรกควรส่งคืน HTTP 200, เนื้อหา JSON และค่าที่คาดหวัง เอกสารฝั่งไคลเอ็นต์ควรมีส่วนหัว CORS ปลายทางเวอร์ชันไคลเอ็นต์ควรส่งคืน JSON จาก Synapse ผ่าน Cloudflare ปลายทางสถานะสุขภาพของ Synapse จะส่งคืน HTTP 200 เมื่อเข้าถึงผ่านตัวรับฟังที่กำหนดค่าไว้ แต่ไม่สามารถใช้แทนการตรวจสอบการเข้าสู่ระบบหรือการรวมระบบได้
จากนั้นลงชื่อเข้าใช้ด้วยไคลเอ็นต์ Matrix โดยใช้ ID ที่ลงท้ายด้วย:example.comเข้าร่วมห้องที่โฮสต์อยู่ที่อื่น และยืนยันว่าข้อความและการอัปเดตสมาชิกภาพซิงโครไนซ์กัน ใช้เครื่องมือทดสอบการรวมระบบของ Matrix หรือโฮมเซิร์ฟเวอร์ตัวที่สองเพื่อตรวจสอบการค้นหาเซิร์ฟเวอร์และการรวมระบบ การร้องขอที่สำเร็จไปยัง/_matrix/client/versionsพิสูจน์ได้เพียงว่าเส้นทางที่ไคลเอ็นต์มองเห็นได้นั้นใช้งานได้ แต่ไม่ได้พิสูจน์ว่าการค้นหาการรวมระบบ การลงนาม หรือการรวมระบบขาออกนั้นถูกต้อง
ความสำเร็จมีหน้าตาอย่างไร และเมื่อใดควรเปลี่ยนแผน
- ไคลเอ็นต์เชื่อมต่อผ่าน Cloudflare: DNS จะแปลงเป็นที่อยู่ของ Cloudflare, HTTPS จะใช้ใบรับรองที่กำหนดไว้ และ API ไคลเอ็นต์ Matrix จะส่งการตอบกลับ
- ผลการตรวจสอบถูกต้อง: URL ที่รู้จักกันดีทั้งสองตัวส่งคืนข้อมูล JSON ที่ถูกต้อง และเอกสารฝั่งไคลเอ็นต์ผ่านการตรวจสอบการเข้าถึงข้ามโดเมน
- การเชื่อมต่อแบบเฟเดอเรชันทำงานได้:เซิร์ฟเวอร์ระยะไกลจะค้นหาปลายทางที่คุณประกาศไว้และสามารถแลกเปลี่ยนสถานะห้องได้ หากการมอบหมายพอร์ต 443 ล้มเหลว แต่พอร์ต 8448 โดยตรงทำงานได้ ให้ตรวจสอบเรคอร์ดที่รู้จักกันดี การกำหนดเส้นทางพร็อกซี และกฎ WAF
- การอัปโหลดทำงานได้ตามขนาดที่คาดไว้:ทดสอบการอัปโหลดตัวอย่าง หากไฟล์ขนาดเล็กอัปโหลดสำเร็จ แต่ไฟล์ขนาดใหญ่แสดงข้อผิดพลาด 413 ให้เปรียบเทียบขีดจำกัดขนาดทั้งสี่แทนที่จะเปลี่ยนเฉพาะ Synapse เท่านั้น
- ต้นทางไม่ใช่เส้นทางสาธารณะทางเลือก:การร้องขอโดยตรงไปยังต้นทางควรถูกบล็อกหรือจำกัดตามที่ออกแบบไว้ หากยังคงเข้าถึงบริการ Matrix ได้ ให้แก้ไขการตั้งค่าไฟร์วอลล์และพร็อกซีที่เชื่อถือได้
หากข้อกำหนดหรือการใช้งานของคุณไม่สามารถกำหนดเส้นทางการเชื่อมต่อผ่านพอร์ต 443 ได้ ให้ใช้การเชื่อมต่อแบบ DNS-only บนพอร์ต 8448 แต่โปรดเข้าใจว่าวิธีนี้จะเปิดเผยที่อยู่ต้นทางและลบการป้องกันพร็อกซี HTTP ของ Cloudflare สำหรับชื่อโฮสต์นั้นออกไป Spectrum เป็นอีกทางเลือกหนึ่งสำหรับพอร์ตที่ไม่ใช่พอร์ตมาตรฐาน โดยขึ้นอยู่กับความพร้อมใช้งานของผลิตภัณฑ์และข้อจำกัดของแผนบริการ การใช้พร็อกซีของ Cloudflare ยังหมายความว่า TLS จะสิ้นสุดที่ Cloudflare ก่อนที่จะมีการเชื่อมต่อ TLS ครั้งที่สองไปยังที่อยู่ต้นทางของคุณ การเข้ารหัสแบบ end-to-end ของ Matrix จะปกป้องเนื้อหาข้อความที่เข้ารหัส แต่จะไม่ซ่อนเมตาเดตาการเชื่อมต่อหรือเนื้อหาที่ไม่ได้รับการเข้ารหัสแบบ end-to-end จากบริการที่จัดการคำขอ HTTP เลือกโทโพโลยีตามความต้องการด้านความเป็นส่วนตัว การเชื่อมต่อ และความพร้อมใช้งานของคุณ จากนั้นทดสอบอีกครั้งหลังจากเปลี่ยนแปลง DNS ใบรับรอง Synapse หรือกฎของ Cloudflare