شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
این سند شامل یک نمای کلی از نحوه پیکربندی TLS در Edge برای دو ناحیه کاربردی است:
- دسترسی به پروکسی های API توسط کلاینت های API. برای پیکربندی TLS از هاست های مجازی در روتر Edge استفاده کنید.
- دسترسی به خدمات باطن خود توسط Edge. برای پیکربندی TLS از نقاط پایانی و سرورهای هدف در پردازشگر پیام Edge استفاده کنید.
هر دو نوع دسترسی در زیر نشان داده شده است:
درباره تنظیم گزینههای TLS در میزبان مجازی یا نقطه پایانی/سرور هدف
یک میزبان مجازی را می توان با یک شی XML به شکل زیر نشان داد:
<VirtualHost name="secure"> ... <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <TrustStore>ref://myTruststoreRef</TrustStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> </SSLInfo> </VirtualHost>
ناحیه میزبان مجازی که برای پیکربندی TLS تغییر میدهید با تگ <SSLInfo> تعریف میشود. شما از همان تگ <SSLIinfo> برای پیکربندی نقطه پایانی یا سرور هدف استفاده میکنید.
جدول زیر عناصر پیکربندی TLS مورد استفاده توسط تگ <SSLinfo> را شرح می دهد:
عنصر | توضیحات |
---|---|
<فعال> | TLS یک طرفه را بین Edge و کلاینت API یا بین Edge و باطن هدف فعال میکند. برای یک هاست مجازی، باید یک keystore حاوی گواهی و کلید خصوصی تعریف کنید. |
<ClientAuthEnabled> | TLS دو طرفه را بین Edge و مشتری API یا بین Edge و باطن هدف فعال میکند. فعال کردن TLS دو طرفه معمولاً مستلزم راهاندازی یک Truststore در Edge است. |
<KeyStore> | فروشگاه کلید. |
<KeyAlias> | نام مستعار مشخص شده هنگام آپلود یک گواهی و کلید خصوصی در فروشگاه کلید. |
<TrustStore> | فروشگاه اعتماد. |
<IgnoreValidationErrors> | اگر درست باشد، Edge خطاهای گواهی TLS را نادیده می گیرد. هنگام پیکربندی TLS برای سرورهای هدف و نقاط پایانی هدف، و هنگام پیکربندی میزبانهای مجازی که از TLS دو طرفه استفاده میکنند معتبر است. مقدار پیش فرض نادرست است. هنگامی که با یک سرور هدف/نقطه پایانی هدف استفاده میشود، اگر سیستم باطن از SNI استفاده میکند و گواهی با نام متمایز موضوعی (DN) را برمیگرداند که با نام میزبان مطابقت ندارد، راهی برای نادیده گرفتن خطا وجود ندارد و اتصال از کار میافتد. |
<CommonName> | در صورت مشخص شدن، مقداری که نام مشترک گواهی هدف با آن اعتبارسنجی می شود. این مقدار فقط برای تنظیمات TargetEndpoint و TargetServer معتبر است. برای پیکربندی VirtualHost معتبر نیست. به طور پیش فرض، مقدار مشخص شده دقیقاً با نام مشترک گواهی هدف مطابقت دارد. به عنوان مثال، استفاده از به صورت اختیاری، Apigee میتواند با استفاده از ویژگی به عنوان مثال، اگر عنصر <CommonName> به صورت زیر مشخص شود، یک نام معمولی که به عنوان <CommonName wildcardMatch="true">*.myhost.com</CommonName> |
درباره تنظیم عناصر <KeyStore> و <TrustStore>
در مثال میزبان مجازی بالا، keystore و truststore با استفاده از مراجع ، به شکل زیر مشخص میشوند:
<KeyStore>ref://myKeystoreRef</KeyStore> <TrustStore>ref://myTruststoreRef</TrustStore>
Apigee اکیداً توصیه می کند که همیشه از ارجاعات به keystore و truststore استفاده کنید. یک مرجع متغیری است که به جای تعیین مستقیم نام فروشگاه کلید، حاوی نام فروشگاه کلید یا Truststore است. در این مثال:
-
myKeystoreRef
مرجعی است که حاوی نام keystore است. در این مثال، نام keystore myKeystore است. -
myTruststoreRef
مرجعی است که حاوی نام Truststore است. در این مثال، نام Truststore myTrussttore است.
هنگامی که یک گواهی منقضی می شود، باید میزبان مجازی یا سرور نقطه پایانی/هدف را به روز کنید تا فروشگاه کلید یا انبار اطمینان حاوی گواهی جدید را مشخص کنید. مزیت یک مرجع این است که می توانید مقدار مرجع را برای تغییر keystore یا truststore بدون نیاز به تغییر میزبان مجازی یا خود سرور نقطه پایانی / هدف را تغییر دهید:
- برای مشتریان Cloud : تغییر مقدار مرجع نیازی به تماس با پشتیبانی Apigee Edge ندارد.
- برای مشتریان خصوصی Cloud : تغییر مقدار مرجع نیازی به راه اندازی مجدد اجزای Edge مانند روترها و پردازشگرهای پیام ندارد.
از طرف دیگر، میتوانید نام فروشگاه کلید و نام فروشگاه اعتماد را مستقیماً مشخص کنید:
<KeyStore>myKeystore</KeyStore> <TrustStore>myTruststore</TrustStore>
اگر مستقیماً نام فروشگاه کلید یا Truststore را مشخص کنید، مشتریان Cloud باید با پشتیبانی Apigee Edge تماس بگیرند و مشتریان Cloud خصوصی باید برخی از مؤلفههای Edge را مجدداً راهاندازی کنند تا گواهی را بهروزرسانی کنند.
گزینه سوم، فقط برای نقاط پایانی/سرور هدف، استفاده از متغیرهای جریان است:
<KeyStore>{ssl.keystore}</KeyStore> <TrustStore>{ssl.truststore}</TrustStore>
متغیرهای جریان برای نقاط پایانی/سرورهای هدف کار می کنند و به شما اجازه می دهند که keystore یا Truststore را مانند مراجع به روز کنید. با این حال، آنها با میزبان های مجازی کار نمی کنند و از شما می خواهند که در هر درخواست اطلاعات مربوط به keystore، نام مستعار و Truststore را ارسال کنید.
محدودیت در استفاده از مراجع به keystore و truststore
مشتریان پولی Cloud و همه مشتریان Cloud خصوصی که TLS را پیکربندی میکنند باید محدودیت زیر را هنگام استفاده از ارجاعها به فروشگاههای کلید و ذخیرههای اعتماد در نظر بگیرند:
- تنها در صورتی میتوانید از منابع ذخیره کلید و Truststore در میزبانهای مجازی استفاده کنید که TLS را در روترهای Apigee خاتمه دهید.
- اگر در جلوی روترهای Apigee یک Load Balanser دارید و TLS را در Load Balanser خاتمه میدهید، پس نمیتوانید از منابع keystore و truststore در میزبانهای مجازی استفاده کنید.
اگر هاست مجازی موجود شما از یک ذخیره واقعی کلید یا نام Truststore استفاده می کند
میزبانهای مجازی موجود در Edge ممکن است برای استفاده از مراجع برای ذخیرههای کلیدی و Truststores پیکربندی نشده باشند. در این صورت می توانید هاست مجازی را برای استفاده از مرجع به روز کنید.
لبه برای ابر
برای تغییر میزبان مجازی برای استفاده از مرجع به keystore، باید با Apigee Edge Support کار کنید.
لبه برای ابر خصوصی
برای تبدیل میزبان مجازی به استفاده از مرجع:
- میزبان مجازی را برای استفاده از مرجع به روز کنید.
- روترها را مجددا راه اندازی کنید.
درباره استفاده از گواهی و کلید آزمایشی رایگان Apigee
اگر یک حساب Edge برای Cloud پولی دارید و هنوز گواهی و کلید TLS ندارید، میتوانید یک میزبان مجازی ایجاد کنید که از گواهی و کلید آزمایشی رایگان Apigee استفاده میکند. این بدان معناست که شما می توانید بدون ایجاد یک فروشگاه کلید، هاست مجازی را ایجاد کنید.
یک شی XML که میزبان مجازی را با استفاده از گواهی آزمایشی رایگان Apigee و کلید تعریف میکند، عناصر <KeyStore>
و <KeyAlias>
را حذف میکند و آنها را با عنصر <UseBuiltInFreeTrialCert>
جایگزین میکند، همانطور که در زیر نشان داده شده است:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>myapi.apigee.net</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> </SSLInfo> <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert> </VirtualHost>
اگر TLS دو طرفه انجام می دهید، همچنان باید عنصر <ClientAuthEnabled>
را روی true
تنظیم کنید و با استفاده از یک مرجع با عنصر <TrustStore>
یک Truststore مشخص کنید.
برای اطلاعات بیشتر به پیکربندی میزبان های مجازی برای Cloud مراجعه کنید.
درباره پیکربندی TLS
دو عامل اصلی نحوه انجام پیکربندی TLS را تعیین می کند:
- آیا شما یک مشتری Edge Cloud یا Private Cloud هستید؟
- چگونه می خواهید گواهی های منقضی یا منقضی شده را به روز کنید؟
گزینه های پیکربندی Cloud و Private Cloud
جدول زیر گزینه های پیکربندی مختلف برای مشتریان Cloud و Private Cloud را نشان می دهد:
ابر خصوصی | ابر | |
---|---|---|
میزبان مجازی | کنترل کامل | کنترل کامل فقط برای حساب های پولی |
نقطه پایانی/سرور هدف | کنترل کامل | کنترل کامل |
مشتریان خصوصی Cloud کنترل کاملی بر پیکربندی هر دو میزبان مجازی و نقاط پایانی/سرورهای هدف دارند. این کنترل شامل توانایی ایجاد و حذف میزبان های مجازی و تنظیم تمام ویژگی ها در یک میزبان مجازی است.
همه مشتریان Cloud، اعم از پولی و ارزیابی، کنترل کاملی بر پیکربندی نقاط پایانی/سرورهای هدف دارند. علاوه بر این، مشتریان پولی Cloud کنترل کامل میزبان های مجازی، از جمله ویژگی های TLS را دارند.
رسیدگی به گواهی های منقضی شده
اگر گواهی TLS منقضی شود، یا اگر پیکربندی سیستم شما به گونه ای تغییر کند که گواهی دیگر معتبر نباشد، باید گواهی را به روز کنید. هنگام پیکربندی TLS برای میزبان مجازی یا نقطه پایانی/سرور هدف هدف، قبل از انجام هر گونه پیکربندی، باید تصمیم بگیرید که چگونه آن بهروزرسانی را انجام دهید.
زمانی که یک گواهی منقضی می شود
در Edge، گواهیها را در یکی از دو مکان ذخیره میکنید:
- Keystore - حاوی گواهی TLS و کلید خصوصی است که برای شناسایی موجودیت در هنگام دست دادن TLS استفاده می شود.
- Truststore - حاوی گواهی های قابل اعتماد در یک کلاینت TLS است که برای تأیید اعتبار گواهی سرور TLS ارائه شده به مشتری استفاده می شود. این گواهیها معمولاً گواهیهایی هستند که خود امضا میکنند، گواهیهایی هستند که توسط یک CA قابل اعتماد امضا میشوند، یا گواهیهایی هستند که به عنوان بخشی از TLS دو طرفه استفاده میشوند.
هنگامی که یک گواهی در یک فروشگاه کلید منقضی می شود، و شما از یک مرجع به فروشگاه کلید استفاده می کنید ، نمی توانید گواهی جدیدی را در فروشگاه کلید آپلود کنید. در عوض، شما:
- یک فروشگاه کلید جدید ایجاد کنید.
- گواهی جدید را با استفاده از همان نام مستعار موجود در فروشگاه کلید قدیمی، در فروشگاه کلید جدید آپلود کنید.
- برای استفاده از فروشگاه کلید جدید، مرجع را در میزبان مجازی یا سرور هدف/نقطه پایانی هدف خود به روز کنید.
وقتی اعتبار یک گواهی در یک فروشگاه اعتماد منقضی میشود، و شما از یک مرجع به فروشگاه اعتماد استفاده میکنید ، شما:
- یک فروشگاه اعتماد جدید ایجاد کنید.
- گواهی جدید را در فروشگاه اعتماد جدید آپلود کنید. نام مستعار برای Truststores مهم نیست. توجه : اگر گواهی بخشی از یک زنجیره است، باید یا یک فایل واحد حاوی تمام گواهیها ایجاد کنید و آن فایل را در یک نام مستعار آپلود کنید، یا تمام گواهیهای موجود در زنجیره را بهطور جداگانه در Truststore با استفاده از نام مستعار متفاوت برای هر گواهی آپلود کنید. .
- برای استفاده از Truststore جدید، مرجع را در میزبان مجازی یا سرور هدف/نقطه پایانی هدف خود به روز کنید.
خلاصه روش های به روز رسانی گواهی منقضی شده
روشی که برای تعیین نام keystore و truststore در میزبان مجازی یا نقطه پایانی/سرور مقصد هدف استفاده میکنید، نحوه انجام بهروزرسانی گواهی را تعیین میکند. می توانید استفاده کنید:
- مراجع
- نام های مستقیم
- متغیرهای جریان
هر یک از این روش ها اثرات متفاوتی بر روند به روز رسانی دارند که در جدول زیر توضیح داده شده است. همانطور که می بینید، مراجع بیشترین انعطاف را برای مشتریان Cloud و Private Cloud فراهم می کنند:
نوع پیکربندی | نحوه به روز رسانی / جایگزینی گواهی | ابر خصوصی | ابر |
---|---|---|---|
مرجع (توصیه می شود) | برای فروشگاه کلید، فروشگاه کلید جدید با نام جدید و نام مستعار با نام مستعار قدیمی ایجاد کنید. برای یک Truststore، یک Truststore با نام جدید ایجاد کنید. | مرجع را به keystore یا truststore به روز کنید. نیازی به راه اندازی مجدد روتر یا پردازشگر پیام نیست. | مرجع را به keystore یا truststore به روز کنید. نیازی به تماس با پشتیبانی Apigee نیست. |
متغیرهای جریان (فقط نقطه پایانی هدف) | برای فروشگاه کلید، فروشگاه کلید جدید با نام جدید و نام مستعار با همان نام یا با نام جدید ایجاد کنید. برای یک Truststore، یک Truststore با نام جدید ایجاد کنید. | flow var به روز شده را در هر درخواست با نام keystore جدید، نام مستعار یا Truststore ارسال کنید. نیازی به راه اندازی مجدد روتر یا پردازشگر پیام نیست. | flow var به روز شده را در هر درخواست با نام keystore جدید، نام مستعار یا Truststore ارسال کنید. نیازی به تماس با پشتیبانی Apigee نیست. |
مستقیم | یک فروشگاه کلید جدید با نام مستعار، Truststore ایجاد کنید. | هاست مجازی را به روز کنید و روترها را مجددا راه اندازی کنید. اگر Truststore توسط یک سرور هدف/نقطه پایانی مورد استفاده قرار می گیرد، پراکسی را مجدداً مستقر کنید. | برای میزبان های مجازی، برای راه اندازی مجدد روترها ، با پشتیبانی Apigee Edge تماس بگیرید . اگر Truststore توسط یک سرور هدف/نقطه پایانی مورد استفاده قرار می گیرد، پراکسی را مجدداً مستقر کنید. |
مستقیم | فروشگاه کلید یا Truststore را حذف کرده و با همان نام دوباره ایجاد کنید. | بدون نیاز به آپدیت میزبان مجازی، نیازی به راه اندازی مجدد روتر نیست. با این حال، درخواستهای API تا زمانی که ذخیرهسازی کلید و نام مستعار جدید تنظیم نشود، با شکست مواجه میشوند. اگر از keystore برای TLS دو طرفه بین Edge و سرویس Backend استفاده می شود، Message Processors را راه اندازی مجدد کنید. | بدون به روز رسانی میزبان مجازی مورد نیاز است. با این حال، درخواستهای API تا زمانی که ذخیرهسازی کلید و نام مستعار جدید تنظیم نشود، با شکست مواجه میشوند. اگر از keystore برای TLS دو طرفه بین Edge و سرویس Backend استفاده میشود، با پشتیبانی Apigee Edge تماس بگیرید تا پردازشگرهای پیام را راهاندازی مجدد کنید. |
مستقیم | فقط برای Truststore، یک گواهی جدید در Truststore آپلود کنید. | اگر Truststore توسط یک میزبان مجازی استفاده می شود، روترها را مجددا راه اندازی کنید. اگر انبار اعتماد توسط یک سرور نقطه پایانی/هدف مورد استفاده قرار می گیرد، پردازشگرهای پیام را مجددا راه اندازی کنید. | برای میزبان های مجازی، با پشتیبانی Apigee Edge تماس بگیرید تا روترهای Edge را مجددا راه اندازی کنید. اگر Truststore توسط یک سرور نقطه پایان/هدف مورد استفاده قرار می گیرد، با پشتیبانی Apigee Edge تماس بگیرید تا پردازشگرهای پیام را مجددا راه اندازی کنید. |