آدرسها و انواع دسترسی
انواع دسترسی
«نوع دسترسی» در تنظیمات سرویس (بخش «شبکه و مقیاس») تعیین میکند چه کسی به سرویس میرسد:
| نوع | چه کسی میرسد | آدرس | مناسب برای |
|---|---|---|---|
| وب عمومی (HTTP/HTTPS) | همه، از اینترنت | https://<نام>.gerdoo.app و دامنهٔ خودتان | سایت، API، وبهوک |
| خصوصی | فقط سرویسهای همین اپلیکیشن | آدرس داخلی | worker، API داخلی، صف |
| اتصال TCP | همه، از اینترنت، با پروتکل خام | نام میزبان و پورت | پروتکلهایی که HTTP نیستند |
هر سرویس هر وقت بخواهید میتواند نوعش را عوض کند. سرویس خصوصی دامنهٔ عمومی نمیپذیرد و سرویس TCP دامنهٔ وب نمیپذیرد.
آدرس پیشفرض
هر سرویس وب یک آدرس https://<نام>.gerdoo.app میگیرد که همیشه فعال است و گواهی HTTPS خودش را دارد. لازم نیست کاری بکنید.
برای عوض کردن بخش اول آدرس، در تنظیمات سرویس زیردامنهٔ تازه را بنویسید و ذخیره کنید (یا با CLI: gerdoo service update <سرویس> --subdomain <نام>). سرویس دوباره مستقر میشود و آدرس قبلی دیگر کار نمیکند. نام قبلی تا ۳۰ روز برای شما رزرو میماند و کس دیگری نمیتواند برش دارد.
ارتباط بین سرویسها
سرویسهای یک اپلیکیشن در یک شبکهٔ خصوصیاند و با نام هم را پیدا میکنند. لازم نیست سرویسی را عمومی کنید تا سرویس دیگری به آن برسد.
آدرس داخلی هر سرویس در متغیر GERDOO_PRIVATE_URL همان سرویس است. از سرویس دیگر با ارجاع به آن برسید:
# در سرویس web
API_URL=${{ api.GERDOO_PRIVATE_URL }}- ترافیک داخلی HTTP ساده است (نه HTTPS) و از شبکهٔ اپلیکیشن بیرون نمیرود.
- اپلیکیشنهای مختلف به هم دسترسی ندارند، حتی اگر مال یک حساب باشند. سرویسهایی را که باید با هم حرف بزنند در یک اپلیکیشن بگذارید.
اتصال TCP
برای پروتکلهایی که HTTP نیستند (مثلاً MQTT، یک سرور بازی، یا دیتابیسی که خودتان اجرا کردهاید و باید از بیرون به آن وصل شوید)، نوع دسترسی را «اتصال TCP» کنید. گردو یک پورت بیرونی به سرویس میدهد و نام میزبان و پورت را در صفحهٔ سرویس نشان میدهد. اتصالها مستقیم به «پورت داخلی» سرویس میرسند.
- این پورت تا وقتی سرویس TCP است ثابت میماند.
- گردو روی اتصال TCP رمزنگاری اضافه نمیکند. اگر داده حساس است، خود پروتکل باید TLS داشته باشد.
- برای سرویسهای TCP متریک درخواست (تعداد درخواست، زمان پاسخ) ثبت نمیشود؛ فقط CPU و RAM.
- افزونههای دیتابیس اتصال TCP عمومی ندارند و فقط از داخل اپلیکیشن در دسترساند.
سرویسی که با TCP عمومی میشود از همهجای اینترنت در دسترس است. اگر دیتابیسی را اینطور باز میکنید، رمز قوی بگذارید و اگر فقط سرویسهای خودتان لازمش دارند، خصوصیاش کنید.
ترافیک و هزینه
ترافیک خروجی سرویس (پاسخهایی که به کاربران فرستاده میشود) به ازای هر گیگابایت حساب میشود. ترافیک ورودی و ترافیک داخلی بین سرویسهای اپلیکیشن رایگان است. میزان ترافیک ۲۴ ساعت و ۳۰ روز گذشته را در زبانهٔ «متریکها» میبینید.
در سایت گردوسکوی ابری گردو