چرا باید از گواهی TLS جدید داتنت ۱۰ استفاده کنید؟
نویسنده: وحید نصیری
تاریخ: ۱۴۰۴/۰۷/۰۳ ۱۰:۴۹
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
localhost. در این مقاله به این مشکل و راهحل نوآورانه داتنت ۱۰ (NET 10.) برای غنیسازی محیط توسعه محلی و افزایش اطمینان در استقرار خواهیم پرداخت.localhost: تداخل کوکیهاlocalhost محیطی است که اکثر توسعهدهندگان ASP.NET Core با آن آشنا هستند. اما همین نام پرکاربرد، یک ایراد اساسی را پنهان میکند: localhost یک دامنهی واحد است.Domain یک کوکی مشخص میکند که کدام سرور و زیر دامنههایش میتوانند آن کوکی را دریافت کنند."ویژگیهای Domain و Path محدوده یک کوکی را تعریف میکنند: کوکیها به کدام URLها ارسال میشوند... ویژگی Domain مشخص میکند که کدام سرور میتواند کوکی را دریافت کند. اگر مشخص شود، کوکیها در سرور مشخص شده و زیر دامنههای آن در دسترس هستند." - مستندات موزیلا
localhost تنظیم شود، توسط هر برنامه ASP.NET Core دیگری که روی همین دامنه میزبانی میشود (حتی در پورتهای مختلف)، ارسال و پردازش خواهد شد.localhost با پورتهای متفاوت (مثلاً https://localhost:7014 و https://localhost:7128) اجرا شوند، برنامه دوم به اشتباه میتواند به کوکی تنظیم شده توسط برنامه اول دسترسی پیدا کند. این رفتار، شبیهسازی محیط تولید نیست؛ چرا که در محیط تولید هر برنامه معمولاً دامنه منحصر به فرد خود را دارد.dotnet dev-certs https --clean dotnet dev-certs https --trust
localhost، ورودیهای DNS اضافی دیگری نیز دارد: .dev.localhost، *.dev.internal، host.docker.internal و host.containers.internal.launchSettings.json برنامه خود را بهروز کنید تا از زیردامنههای dev.localhost استفاده کند."https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://cookiejarsone.dev.localhost:7014",
// نام دامنه منحصر به فرد
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://cookiejarstwo.dev.localhost:7128",
// نام دامنه منحصر به فرد دیگر
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}localhost رخ میداد، به طور کامل از بین میرود. در ابزارهای توسعه مرورگر، خواهید دید که مقدار Domain کوکیها با دامنه منحصر به فرد برنامه مطابقت دارد (مثلاً cookiejarsone.dev.localhost).C:\Windows\System32\drivers\etc\hosts) و برای هر برنامه یک ورودی به شکل زیر اضافه میکردند:127.0.0.1 myapp1.local 127.0.0.1 myapp2.local
myapp1.local) تولید و Trust میکرد، که فرآیندی پیچیده بود..dev.localhost و سایرین از طریق سیستم DNS محلی به 127.0.0.1 هدایت میشوند و مهمتر از آن، گواهی توسعهدهنده جدید از پیش برای این دامنهها صادر و Trust شده است، در نتیجه نیاز به ویرایش دستی فایل Hosts و مدیریت پیچیده گواهیها کاملاً حذف میشود. این سهولت استفاده، اعتماد به نفس توسعهدهندگان را در شبیهسازی دقیقتر محیط تولید به شدت بالا میبرد.launchSettings.json پروژههای خود برای استفاده از دامنههای .dev.localhost را در اولویت قرار دهند. این کار یک عامل بالقوه سردرگمکننده را از فرآیند توسعه شما حذف کرده و استقرار پروژهها را قابل پیشبینیتر میسازد.