رکوردهای Wildcard DNS
رکوردهای معمولی در DNS، یک نام دامنه را به یک یا چند تا آدرس IP یا دامنههای خاص دیگر، نگاشت میکنند. این در حالی است که رکوردهای Wildcard در DNS، رکوردهایی هستند که برای تطبیق درخواستها از سوی دامنهها یا زیردامنههای مشخص نشده، استفاده میشوند. به عبارت دیگر، رکوردهای Wildcard به شما این امکان را میدهد که به جای تنظیم رکوردهای DNS برای هر زیر دامنه بهطور جداگانه، یک رکورد واحد را برای تمام زیر دامنههای یک دامنه ایجاد کنید.
رکوردهای Wildcard چگونه کار میکنند؟
رکورد Wildcard DNS از نماد * برای نشان دادن هر زیر دامنهای که به دامنه شما ارسال میشود، استفاده میکند. به عنوان مثال، اگر رکورد Wildcard برای دامنه example.com به صورت زیر تنظیم شود:
Type | Name | IPv4 address |
---|---|---|
A | * | 192.0.2.1 |
به این معنی است که هر درخواست DNS برای هر زیر دامنهای از example.com (مثلاً abc.example.com , xyz.example.com , anything.example.com) به آدرس IP فوق، هدایت خواهد شد.
لیارا، از قابلیت Wildcard DNS پشتیبانی میکند و شما میتوانید در پروژههای مختلف خود از این قابلیت استفاده کنید. همچنین، شما میتوانید افزون بر مثال فوق، Wildcard را برای زیر دامنههای عمیقتری نیز، تعریف کنید؛ به عنوان مثال، با تعریف رکورد زیر:
Type | Name | IPv4 address |
---|---|---|
A | *.www | example.com |
هر درخواستی که به تمام زیر دامنههای www.example.com (مانند abc.www.example.com , xyz.www.example.com , anything.www.example.com) ارسال شود؛ به دامنه example.com، هدایت میشود.
محدودیتهای رکورد Wildcard DNS
Wildcardها فقط میتوانند در اولین بخش از نام دامنه (label) استفاده شوند. با وجود این محدودیت، رکوردی مثل subdomain.*.example.com، یک Wildcard معتبر نیست و علامت * به عنوان یک literal تلقی شده و عملگر Wildcard محسوب نمیشود.
شما نمیتوانید از wildcardها در چندین سطح استفاده کنید. با وجود این محدودیت، رکوردی مانند example.com.*.*، یک Wildcard معتبر نیست؛ چرا که اگر ستاره اولی به عنوان عملگر Wildcard محسوب شود، ستاره دومی یک literal شناخته میشود.
رکوردهای DNS خاص، اولویت بیشتری نسبت به رکوردهای Wildcard دارند. وقتی که DNS درخواستها را پردازش میکند، اگر رکورد Wildcard برای دامنه تنظیم شده باشد اما یک رکورد دقیق نیز برای یک زیر دامنه خاص هم وجود داشته باشد، رکورد خاص، اولویت پیدا کرده و به آن، پاسخ داده میشود. به عنوان مثال، فرض کنید که فقط دو رکورد زیر، روی دامنهتان ثبت شده است:
Type | Name | IPv4 address |
---|---|---|
A | *.example.com | 192.0.2.3 |
TXT | subdomain1.example.com | <some_text> |
با شرایط فوق، هر درخواستی که به تمام زیردامنههای example.com فرستاده شود، به جز subdomain1.example.com، به 192.0.2.3 هدایت خواهد شد. این حالت در مورد زیر دامنههای عمیقتر (مثل a.sub2.example.com) نیز صادق است و تمامی درخواستها، به جز زیردامنههای عمیقتر subdomain1.example.com (مثل deeper.subdomain1.example.com) به آدرس 192.0.2.3، هدایت خواهند شد.