Tài liệu này trình bày các cấu hình mạng cần thiết để FCM hoạt động đúng cách trong môi trường mạng của bạn.
Định cấu hình Mạng của bạn để gửi tin nhắn đến FCM
Trước khi bắt đầu, bạn cần đảm bảo hệ thống của mình đang giao tiếp với các máy chủ FCM để gửi thông báo và quản lý các lượt đăng ký.
Để gửi tin nhắn FCM hoặc quản lý thông tin đăng ký nhận, mạng của bạn cần giao tiếp với các máy chủ sau qua https:
- fcm.googleapis.com (gửi tin nhắn)
- accounts.google.com (xác thực để gửi thư)
- iid.googleapis.com (quản lý nhóm thiết bị và gói thuê bao theo chủ đề)
Danh sách này có thể thay đổi theo thời gian. Chúng tôi không thể cung cấp danh sách cho phép dựa trên IP cho các điểm cuối này.
Định cấu hình Mạng cho thiết bị Android bằng FCM
Phần này trình bày chi tiết cách định cấu hình mạng để hỗ trợ lưu lượng truy cập FCM cho thiết bị Android.
FCM cổng và tường lửa
Phần lớn các mạng không giới hạn thiết bị kết nối với phần còn lại của Internet. Nhìn chung, đây là đề xuất của chúng tôi. Tuy nhiên, một số tổ chức yêu cầu tường lửa trong kế hoạch bảo mật vành đai của họ.
Các lựa chọn về tường lửa
Phương thức | Những việc chúng tôi làm | Quy tắc cụ thể | Lưu ý |
---|---|---|---|
Không có (ưu tiên) | - | - | - |
Lọc dựa trên cổng (lựa chọn thứ hai) | Giới hạn lưu lượng truy cập đến các cổng cụ thể | Các cổng TCP cần mở:
|
Đây là quy tắc đơn giản nhất và ngăn chặn sự phụ thuộc vào những thứ có nhiều khả năng thay đổi theo thời gian. |
Lọc dựa trên tên máy chủ | Sử dụng cấu hình tường lửa đặc biệt để đưa một số mục nhập SNI TLS nhất định vào danh sách cho phép để vượt qua tường lửa. Bạn có thể kết hợp tính năng này với tính năng lọc dựa trên cổng. | Tên máy chủ để mở:
|
Không phải phần mềm tường lửa nào cũng hỗ trợ tính năng này, nhưng nhiều phần mềm có hỗ trợ. Danh sách này khá ổn định nhưng chúng tôi sẽ không chủ động thông báo cho bạn nếu có thay đổi. |
Lọc dựa trên IP (không nên dùng) | Sử dụng một danh sách tĩnh rất lớn gồm các địa chỉ IP. | Thêm tất cả địa chỉ IP trong tệp goog.json vào danh sách cho phép. Danh sách này được cập nhật thường xuyên và bạn nên cập nhật các quy tắc hằng tháng. Các vấn đề do quy tắc hạn chế IP của tường lửa thường xảy ra không liên tục và khó chẩn đoán. | Chúng tôi thay đổi danh sách địa chỉ IP rất thường xuyên và không báo trước, vì vậy, bạn sẽ cần nhập danh sách lớn này và thường xuyên cập nhật. Ngoài ra, chúng tôi nhận thấy mọi người thường xuyên mắc lỗi chính tả khi cố gắng nhập danh sách cho phép IP vào các quy tắc tường lửa. Chúng tôi không khuyến khích bạn làm việc này vì thông tin chắc chắn sẽ trở nên lỗi thời và không được duy trì. Ngoài ra, kích thước của danh sách có thể quá lớn đối với một số bộ định tuyến. |
Tường lửa Dịch địa chỉ mạng hoặc Kiểm tra trạng thái gói tin
Nếu mạng của bạn triển khai tính năng Dịch địa chỉ mạng (NAT) hoặc Kiểm tra gói tin có trạng thái (SPI), hãy triển khai thời gian chờ từ 30 phút trở lên cho các kết nối của chúng tôi qua các cổng 5228-5230. Điều này giúp chúng tôi cung cấp khả năng kết nối đáng tin cậy, đồng thời giảm mức tiêu thụ pin của thiết bị di động mà người dùng sử dụng.
FCM và Proxy
Giao thức của FCM để gửi thông báo đẩy đến các thiết bị không thể được uỷ quyền thông qua các proxy mạng. Do đó, bạn cần đảm bảo rằng kết nối FCM từ các thiết bị trên mạng của bạn có thể kết nối trực tiếp với máy chủ của chúng tôi.
Tương tác với VPN và khả năng bỏ qua
Firebase Cloud Messaging thực hiện nhiều bước để đảm bảo rằng kết nối nhắn tin đẩy từ điện thoại đến máy chủ luôn đáng tin cậy và có sẵn thường xuyên nhất có thể. Việc sử dụng VPN sẽ gây khó khăn cho nỗ lực này.
VPN che giấu thông tin cơ bản mà FCM cần để điều chỉnh kết nối nhằm tối đa hoá độ tin cậy và thời lượng pin. Trong một số trường hợp, VPN chủ động ngắt các kết nối duy trì lâu dài, dẫn đến trải nghiệm người dùng kém do tin nhắn bị bỏ lỡ hoặc bị trễ hoặc tiêu hao nhiều pin. Khi VPN được định cấu hình để cho phép chúng tôi làm như vậy, chúng tôi sẽ bỏ qua VPN bằng cách sử dụng một kết nối được mã hoá (qua mạng Wi-Fi hoặc LTE cơ bản) để đảm bảo trải nghiệm đáng tin cậy và tiết kiệm pin. Việc FCM sử dụng VPN có thể bỏ qua chỉ dành riêng cho kênh Thông báo đẩy của FCM. Lưu lượng truy cập FCM khác, chẳng hạn như lưu lượng truy cập đăng ký, sẽ sử dụng VPN nếu VPN đang hoạt động. Khi kết nối FCMbỏ qua VPN, kết nối đó sẽ mất đi những lợi ích bổ sung mà VPN có thể mang lại, chẳng hạn như che giấu địa chỉ IP.
Mỗi VPN sẽ có một phương thức riêng để kiểm soát việc có thể bỏ qua VPN hay không. Hãy tham khảo tài liệu về VPN cụ thể của bạn để biết hướng dẫn.
Nếu VPN không được định cấu hình để có thể bỏ qua, thì Firebase Cloud Messaging sẽ sử dụng mạng VPN để kết nối với máy chủ. Điều này có thể dẫn đến tình trạng tin nhắn bị trễ trong một khoảng thời gian và có thể khiến pin tiêu hao nhiều hơn vì Cloud Messaging hoạt động để duy trì kết nối qua kết nối VPN.