شبکه خود را برای FCM پیکربندی کنید

این سند، پیکربندی‌های شبکه مورد نیاز برای عملکرد صحیح FCM در محیط شبکه شما را تشریح می‌کند.

شبکه خود را برای ارسال پیام به FCM پیکربندی کنید

قبل از شروع، باید مطمئن شوید که سیستم شما برای ارسال پیام و مدیریت اشتراک‌ها با سرورهای FCM در ارتباط است.

برای ارسال پیام‌های FCM یا مدیریت اشتراک‌ها، شبکه شما باید از طریق https با سرورهای زیر ارتباط برقرار کند:

  • fcm.googleapis.com (ارسال پیام)
  • accounts.google.com (احراز هویت برای ارسال پیام)
  • iid.googleapis.com (اشتراک موضوعی و مدیریت گروه دستگاه)

این لیست ممکن است به مرور زمان تغییر کند. ما قادر به ارائه لیست مجاز مبتنی بر IP برای این نقاط پایانی نیستیم.

پیکربندی شبکه برای دستگاه‌های اندروید با استفاده از FCM

این بخش جزئیات نحوه پیکربندی شبکه شما برای پشتیبانی از ترافیک FCM برای دستگاه‌های اندروید را شرح می‌دهد.

پورت‌های FCM و فایروال شما

اکثریت قریب به اتفاق شبکه‌ها، دستگاه‌ها را از اتصال به بقیه اینترنت محدود نمی‌کنند. به طور کلی، این توصیه ما است. با این حال، برخی از سازمان‌ها به عنوان بخشی از برنامه امنیتی پیرامونی خود به فایروال‌ها نیاز دارند.

گزینه‌های فایروال

گزینه کاری که ما انجام می‌دهیم قوانین خاص یادداشت‌ها
هیچکدام ( ترجیحاً ) - - -
فیلترینگ مبتنی بر پورت (انتخاب دوم) محدود کردن ترافیک به پورت‌های خاص

پورت‌های TCP برای باز کردن:

  • ۵۲۲۸
  • ۵۲۲۹
  • ۵۲۳۰
  • ۴۴۳
این ساده‌ترین قانون است و از وابستگی به چیزهایی که احتمال تغییرشان در طول زمان بیشتر است، جلوگیری می‌کند.
فیلترینگ مبتنی بر نام میزبان استفاده از یک پیکربندی ویژه فایروال برای اجازه دادن به برخی از ورودی‌های TLS SNI برای عبور از فایروال. این روش ممکن است با فیلترینگ مبتنی بر پورت ترکیب شود.

نام میزبان‌هایی که باید باز شوند:

  • mtalk.google.com
  • mtalk4.google.com
  • mtalk-staging.google.com
  • mtalk-dev.google.com
  • alt1-mtalk.google.com
  • alt2-mtalk.google.com
  • alt3-mtalk.google.com
  • alt4-mtalk.google.com
  • alt5-mtalk.google.com
  • alt6-mtalk.google.com
  • alt7-mtalk.google.com
  • alt8-mtalk.google.com
  • android.apis.google.com
  • device-provisioning.googleapis.com
  • firebaseinstallations.googleapis.com
همه نرم‌افزارهای فایروال از این پشتیبانی نمی‌کنند، اما بسیاری از آنها این کار را انجام می‌دهند. این لیست نسبتاً پایدار است، اما در صورت تغییر، ما به شما اطلاع نخواهیم داد.
فیلترینگ مبتنی بر IP (اکیدا توصیه نمی‌شود ) از یک لیست استاتیک بسیار بزرگ از آدرس‌های IP استفاده کنید. تمام آدرس‌های IP ذکر شده در goog.json را در لیست مجاز قرار دهید. این لیست به طور منظم به‌روزرسانی می‌شود و به شما توصیه می‌شود قوانین خود را ماهانه به‌روزرسانی کنید . مشکلات ناشی از محدودیت‌های IP فایروال اغلب متناوب و تشخیص آنها دشوار است. ما لیست آدرس‌های IP خود را مرتباً و بدون هشدار تغییر می‌دهیم، بنابراین شما باید وارد این لیست بزرگ شوید و مرتباً آن را به‌روزرسانی کنید.

علاوه بر این، وقتی افراد سعی می‌کنند لیست‌های مجاز IP را در قوانین فایروال خود وارد کنند، اشتباهات تایپی مکرری می‌بینیم.

ما این را توصیه نمی‌کنیم زیرا همواره اطلاعات قدیمی می‌شوند و نگهداری نمی‌شوند.

علاوه بر این، اندازه لیست می‌تواند برای برخی از روترها سنگین باشد.

فایروال‌های ترجمه آدرس شبکه یا بازرسی بسته‌های دارای وضعیت

اگر شبکه شما از ترجمه آدرس شبکه (NAT) یا بازرسی بسته‌های وضعیت‌محور (SPI) پشتیبانی می‌کند، برای اتصالات ما از طریق پورت‌های ۵۲۲۸-۵۲۳۰، یک زمان انتظار ۳۰ دقیقه یا بیشتر در نظر بگیرید. این کار ما را قادر می‌سازد تا اتصال قابل اعتمادی را ارائه دهیم و در عین حال مصرف باتری دستگاه‌های تلفن همراه کاربران شما را کاهش دهیم.

FCM و پروکسی‌ها

پروتکل FCM برای ارسال پیام‌های فوری به دستگاه‌ها، از طریق پروکسی‌های شبکه قابل پروکسی شدن نیست. به همین دلیل، باید مطمئن شوید که اتصال FCM از دستگاه‌های موجود در شبکه شما می‌تواند مستقیماً به سرورهای ما متصل شود.

تعاملات VPN و قابلیت دور زدن

Firebase Cloud Messaging مراحل مختلفی را طی می‌کند تا اطمینان حاصل شود که اتصال پیام‌رسانی از تلفن به سرور قابل اعتماد و در دسترس است. استفاده از VPN این تلاش را پیچیده می‌کند.

VPNs mask the underlying information that FCM needs to tune its connection to maximize reliability & battery life. In some cases VPNs actively break long lived connections resulting in a bad user experience due to missed or delayed messages or a high battery cost. When the VPN is configured to allow us to do so, we bypass the VPN using an encrypted connection (over the base network Wi-Fi or LTE) so as to ensure a reliable, battery friendly experience. FCM 's usage of bypassable VPNs is specific to the FCM Push Notification channel. Other FCM traffic, such as registration traffic, uses the VPN if it is active. When the FCM connection bypasses the VPN it loses additional benefits the VPN may provide, such as IP masking.

VPN های مختلف روش های مختلفی برای کنترل اینکه آیا می توان آن را دور زد یا خیر، دارند. برای دستورالعمل ها به مستندات مربوط به VPN خاص خود مراجعه کنید.

اگر VPN طوری پیکربندی نشده باشد که قابل دور زدن باشد، Firebase Cloud Messaging از شبکه VPN برای اتصال به سرور استفاده خواهد کرد. این ممکن است منجر به دوره‌های زمانی شود که پیام‌ها با تأخیر ارسال می‌شوند و ممکن است منجر به مصرف بیشتر باتری شود زیرا Cloud Messaging برای حفظ اتصال از طریق اتصال VPN تلاش می‌کند.