تنظیمات پروکسی ASP.NET Core: launchSettings.json در برابر محیط تولید
مقادیر پروکسی پروفایل راهاندازی توسعه را از محیط و هندلر HTTP یک فرایند ASP.NET Core مستقرشده جدا کنید.
مقدار پروکسی در launchSettings.json متعلق به یک پروفایل راهاندازی توسعه است. انتشار برنامه آن پروفایل را به محیط یک کارگر IIS، سرویس یا کانتینر تبدیل نمیکند.
برای یک خطا در محیط مستقر، فرایندی را بررسی کنید که واقعاً برنامه را شروع میکند. محیط، حساب و هندلر HTTP آن تعیین میکند کدام ورودیهای پروکسی در دسترس است.
| کجا کار میکند | پس از استقرار چه چیزی را مقایسه کنید |
|---|---|
| پروفایل راهاندازی IDE | محیط فرایند میزبان |
| نشست تعاملی کاربر | حساب سرویس و تنظیمات پروکسی آن |
| یک کلاینت HTTP که دستی ساخته شده | هندلری که کلاینت تزریقشده برنامه استفاده میکند |
مقداردهی اولیه پروکسی پیشفرض در HttpClient مدرن قواعد محیطی و پیکربندی سیستمی وابسته به پلتفرم دارد. یک هندلر که صریحاً پیکربندی شده میتواند این پیشفرضها را بازنویسی کند. با IHttpClientFactory، ثبت هندلر اصلی کلاینت نامدار و نامی که در محل فراخوانی بازیابی میشود را بررسی کنید. پیش از نتیجهگیری درباره نادیده گرفته شدن یک فایل پیکربندی، هر دو ورودی را بررسی کنید.
نمونههای قدیمی system.net/defaultProxy در .NET Framework مدل پیکربندی دیگری را توصیف میکنند. آن بخش را در یک فایل استقرار مدرن جای نگذارید و فرض نکنید هر پیادهسازی HTTP در .NET از آن استفاده میکند. در استقرار IIS، ماژول ASP.NET Core نیز سازوکار پشتیبانیشدهای برای پیکربندی محیط فرایند دارد؛ هنگام افزودن مقادیر، بقیه پیکربندی میزبانی را حفظ کنید.
ثبت کنید که آیا متغیر مورد انتظار وجود دارد، بدون انتشار مقدار کامل آن که حاوی اعتبارنامه است. سپس تأیید کنید کلاینتی که درخواست ناموفق را انجام میدهد از آن منبع استفاده میکند. یک راهانداز درست پیکربندیشده نمیتواند کلاینتی را که آگاهانه مسیر دیگری را به کار میبرد اصلاح کند.