شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
یک پروکسی API به عنوان یک نقشه از یک نقطه پایانی در دسترس عموم به سرویس باطن شما عمل می کند. یک میزبان مجازی روشی را تعریف می کند که پراکسی API عمومی در معرض یک برنامه قرار می گیرد. به عنوان مثال، میزبان مجازی تعیین می کند که آیا می توان با استفاده از TLS به پروکسی API دسترسی پیدا کرد. هنگامی که یک پروکسی API را پیکربندی میکنید، تعریف ProxyEndpoint آن را برای پیکربندی میزبانهای مجازی مورد استفاده آن ویرایش کنید.
TargetEndpoint معادل خروجی ProxyEndpoint است. TargetEndpoint به عنوان یک سرویس گیرنده HTTP از Edge به یک سرویس Backend عمل می کند. هنگام ایجاد یک پروکسی API، می توانید آن را به گونه ای پیکربندی کنید که از صفر یا بیشتر از TargetEndpoint استفاده کند.
بیشتر بدانید:
- درباره TLS/SSL
- استفاده از TLS با Edge
- درباره هاست های مجازی
- فروشگاههای کلیدی و Truststores
- مرجع پیکربندی پروکسی API
پیکربندی TargetEndpoint یا TargetServer
برای پیکربندی یک TargetEndpoint، شی XML را که TargetEndpoint را تعریف می کند، ویرایش کنید. شما می توانید TargetEndpoint را با ویرایش فایل XML که TargetEndpoint را در پراکسی API خود تعریف می کند، ویرایش کنید یا آن را در رابط کاربری مدیریت Edge ویرایش کنید.
برای استفاده از رابط کاربری Edge management برای ویرایش TargetEndpoint:
- وارد رابط کاربری Edge management در https://enterprise.apigee.com شوید.
- نام پروکسی API را برای به روز رسانی انتخاب کنید.
- تب Develop را انتخاب کنید.
- در قسمت Target Endpoints ، پیش فرض را انتخاب کنید.
- در ناحیه کد، تعریف TargetEndpoint مانند زیر ظاهر می شود:
<TargetEndpoint name="default"> <Description/> <FaultRules/> <Flows/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <HTTPTargetConnection> <Properties/> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://mocktarget.apigee.net</URL> </HTTPTargetConnection> </TargetEndpoint>
- یک Truststore را همانطور که در زیر در درباره پیکربندی TLS با backend توضیح داده شده است، پیکربندی کنید.
- هر تغییری را انجام دهید و پروکسی را ذخیره کنید. اگر پروکسی API مستقر شده باشد، ذخیره آن با تنظیم جدید مجدداً مستقر می شود.
توجه داشته باشید که تعریف TargetEndpoint حاوی یک ویژگی name
است. شما از مقدار ویژگی name
برای پیکربندی تعریف ProxyEndpoint یک پراکسی API برای استفاده از TargetEndpoint استفاده می کنید. برای اطلاعات بیشتر به مرجع پیکربندی پروکسی API مراجعه کنید.
TargetEndpoints را می توان برای ارجاع به TargetServer، به جای URL هدف صریح، پیکربندی کرد. یک پیکربندی TargetServer URL های نقطه پایانی مشخص را از پیکربندی های TargetEndpoint جدا می کند. TargetServers برای پشتیبانی از تعادل بار و failover در چندین نمونه سرور backend استفاده می شود.
در زیر نمونه ای از تعریف TargetServer نشان داده شده است:
<TargetServer name="target1"> <Host>mocktarget.apigee.net</Host> <Port>80</Port> <IsEnabled>true</IsEnabled> </TargetServer>
یک TargetServer با نام در عنصر <HTTPTargetConnection>
در تعریف TargetEndpoint ارجاع داده می شود. شما می توانید یک یا چند سرور با نام TargetServers را مانند شکل زیر پیکربندی کنید.
<TargetEndpoint name="default"> ... <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> ... </TargetEndpoint>
برای اطلاعات بیشتر به تعادل بار در سرورهای باطن مراجعه کنید.
درباره پیکربندی TLS با باطن
قبل از پیکربندی دسترسی TLS به باطن، باید دو نکته مهم را درک کنید:
- بهطور پیشفرض، Edge گواهی پشتیبان را تأیید نمیکند. شما باید یک Truststore ایجاد کنید تا Edge را برای تایید اعتبار گواهی پیکربندی کنید.
- از یک مرجع برای تعیین keystore یا truststore استفاده شده توسط Edge استفاده کنید.
هر دو ملاحظات در زیر توضیح داده شده است.
تعریف یک Truststore برای فعال کردن اعتبار سنجی گواهی
هنگام درخواست TLS از طریق TargetEndpoint یا TargetServer، Edge به طور پیش فرض گواهی TLS دریافت شده از سرور باطن را تأیید نمی کند. این بدان معنی است که Edge آن را تأیید نمی کند:
- گواهی توسط یک CA قابل اعتماد امضا شده است.
- گواهی منقضی نشده است.
- گواهی یک نام مشترک ارائه می دهد. اگر نام مشترکی وجود داشته باشد، Edge تأیید نمی کند که نام مشترک با نام میزبان مشخص شده در URL مطابقت داشته باشد.
برای پیکربندی Edge برای تأیید اعتبار گواهی پشتیبان، باید:
- یک Truststore در Edge ایجاد کنید.
- گواهی یا زنجیره گواهی سرور را در فروشگاه اعتماد آپلود کنید. اگر گواهی سرور توسط شخص ثالث امضا شده باشد، باید زنجیره گواهی کامل، از جمله گواهی CA ریشه را در Truststore آپلود کنید. هیچ CA به طور ضمنی قابل اعتماد وجود ندارد.
- Truststore را به تعریف TargetEndpoint یا TargetServer اضافه کنید.
برای اطلاعات بیشتر به Keystores و Truststores مراجعه کنید.
به عنوان مثال:
<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
استفاده از یک مرجع به یک فروشگاه کلید یا فروشگاه اعتماد
مثال زیر نحوه پیکربندی TargetEndpoint یا TargetServer را برای پشتیبانی از TLS نشان می دهد. به عنوان بخشی از پیکربندی TLS، یک Truststore و Keystore را به عنوان بخشی از TargetEndpoint یا TargetServer تعریف می کنید.
Apigee قویاً توصیه میکند که در تعریف TargetEndpoints یا TargetServer از یک مرجع به keystore و truststore استفاده کنید. مزیت استفاده از مرجع این است که شما فقط باید مرجع را به روز کنید تا برای به روز رسانی گواهی TLS به یک فروشگاه کلید یا Truststore دیگر اشاره کنید.
ارجاع به keystore ها و truststores در تعریف TargetEndpoints یا TargetServer مانند میزبان های مجازی عمل می کند.
تبدیل TargetEndpoint یا TargetServer به استفاده از مرجع
ممکن است تعاریف TargetEndpoint یا TargetServer را داشته باشید که از نام تحت اللفظی keystore و truststore استفاده می کند. برای تبدیل تعریف TargetEndpoint یا TargetServer به استفاده از مراجع:
- برای استفاده از مرجع، تعریف TargetEndpoint یا TargetServer را به روز کنید.
- پردازشگرهای پیام Edge را مجددا راه اندازی کنید:
- برای مشتریان Public Cloud ، با پشتیبانی Apigee Edge تماس بگیرید تا پردازشگرهای پیام را دوباره راه اندازی کنید.
- برای مشتریان Private Cloud ، پردازشگرهای Edge Message را یکی یکی مجددا راه اندازی کنید.
- تأیید کنید که TargetEndpoint یا TargetServer شما به درستی کار می کند.
پیکربندی TLS یک طرفه برای سرور باطن
هنگام استفاده از تعریف TargetEndpoint، پیکربندی دسترسی TLS یک طرفه از Edge (کلینت TLS) به سرور پشتیبان (سرور TLS) نیازی به پیکربندی اضافی در Edge ندارد. این وظیفه سرور باطن است که TLS را به درستی پیکربندی کند.
فقط باید مطمئن شوید که عنصر <URL>
در تعریف TargetEndpoint به سرویس پشتیبان توسط پروتکل HTTPS ارجاع می دهد و TLS را فعال می کنید:
<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
اگر از TargetServer برای تعریف سرویس Backend استفاده می کنید، TLS را در تعریف TargetServer فعال کنید:
<TargetServer name="target1"> <Host>mocktarget.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
با این حال، اگر میخواهید Edge گواهی پشتیبان را تأیید کند، باید یک Truststore ایجاد کنید که حاوی گواهی backend یا زنجیره گواهی باشد. سپس در تعریف TargetEndpoint، Truststore را مشخص میکنید:
<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
یا در تعریف TargetServer:
<TargetServer name="target1"> <Host>mockserver.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> </TargetServer>
برای پیکربندی TLS یک طرفه:
- اگر میخواهید گواهی پشتیبان را تأیید کنید ، یک Truststore در Edge ایجاد کنید و گواهی backend یا زنجیره CA را آپلود کنید، همانطور که در Keystores و Truststores توضیح داده شده است. برای این مثال، اگر باید یک Truststore ایجاد کنید، نام آن را myTrustStore بگذارید.
اگر یک Truststore ایجاد کرده اید، از فراخوانی POST API زیر استفاده کنید تا مرجعی به نام myTrustStoreRef را در Truststore که در بالا ایجاد کرده اید ایجاد کنید:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myTrustStoreRef"> <Refers>myTrustKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
- از رابط مدیریت Edge برای بهروزرسانی تعریف TargetEndpoint برای پراکسی API استفاده کنید (یا اگر پروکسی API را در XML تعریف کردهاید، فایلهای XML را برای پراکسی ویرایش کنید):
- وارد رابط کاربری مدیریت Edge در https://enterprise.apigee.com شوید.
- در منوی Edge management UI، APIs را انتخاب کنید.
- نام پروکسی API را برای به روز رسانی انتخاب کنید.
- تب توسعه را انتخاب کنید.
- در قسمت Target Endpoints ، پیش فرض را انتخاب کنید.
- در ناحیه کد، عنصر
<HTTPTargetConnection>
را ویرایش کنید تا عنصر<SSLInfo>
را اضافه کنید. مطمئن شوید که مرجع Truststore صحیح را مشخص کرده و<Enabled>
را روی true تنظیم کنید:<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint>
- پروکسی API را ذخیره کنید. اگر پروکسی API مستقر شده باشد، ذخیره آن با تنظیم جدید مجدداً مستقر می شود.
پیکربندی TLS دو طرفه برای سرور باطن
اگر می خواهید از TLS دو طرفه بین Edge (کلینت TLS) و سرور باطن (سرور TLS) پشتیبانی کنید:
- یک فروشگاه کلید در Edge ایجاد کنید و گواهی Edge و کلید خصوصی را آپلود کنید.
- اگر میخواهید گواهی پشتیبان را تأیید کنید، یک Truststore در Edge ایجاد کنید که حاوی زنجیره گواهی و CA است که از سرور باطن دریافت کردهاید.
- TargetEndpoint را برای هر پراکسی API که به سرور backend برای پیکربندی دسترسی TLS ارجاع می دهد، به روز کنید.
استفاده از نام مستعار کلید برای تعیین گواهی ذخیره کلید
می توانید چندین گواهی را که هر کدام نام مستعار خاص خود را دارند، در یک فروشگاه کلید تعریف کنید. به طور پیش فرض، Edge از اولین گواهی تعریف شده در فروشگاه کلید استفاده می کند.
به صورت اختیاری، می توانید Edge را برای استفاده از گواهی مشخص شده توسط ویژگی <KeyAlias>
پیکربندی کنید. این به شما امکان می دهد یک فروشگاه کلید برای چندین گواهی تعریف کنید، سپس یکی را که می خواهید در تعریف TargetServer استفاده کنید، انتخاب کنید. اگر Edge نتواند گواهی با نام مستعار منطبق با <KeyAlias>
پیدا کند، از عملکرد پیش فرض انتخاب اولین گواهی در فروشگاه کلید استفاده می کند.
کاربران Edge for Public Cloud برای فعال کردن این ویژگی باید با پشتیبانی Apigee Edge تماس بگیرند.
پیکربندی TLS دو طرفه
برای پیکربندی TLS دو طرفه:
- فروشگاه کلید را در Edge ایجاد کنید، و کلید گواهی و خصوصی را با استفاده از روشی که در اینجا توضیح داده شده آپلود کنید: Keystores و Truststores . برای این مثال، یک keystore به نام myTestKeystore ایجاد کنید که از نام مستعار myKey برای گواهی و کلید خصوصی استفاده می کند.
از فراخوانی POST API زیر برای ایجاد مرجعی به نام myKeyStoreRef به فروشگاه کلیدی که در بالا ایجاد کردید استفاده کنید:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myKeyStoreRef"> <Refers>myTestKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
مرجع نام keystore و نوع مرجع را
KeyStore
مشخص می کند.برای مشاهده مرجع از تماس GET API زیر استفاده کنید:
curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/myKeyStoreRef / -u email:password
- اگر میخواهید گواهی پشتیبان را تأیید کنید ، یک Truststore در Edge ایجاد کنید و زنجیره گواهی و CA را آپلود کنید، همانطور که در اینجا توضیح داده شده است: Keystores و Truststores . برای این مثال، اگر باید یک Truststore ایجاد کنید، نام آن را myTrustStore بگذارید .
اگر یک Truststore ایجاد کرده اید، از فراخوانی POST API زیر استفاده کنید تا مرجعی به نام myTrustStoreRef را در Truststore که در بالا ایجاد کرده اید ایجاد کنید:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myTrustStoreRef"> <Refers>myTrustKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
- از رابط مدیریت Edge برای بهروزرسانی تعریف TargetEndpoint برای پراکسی API استفاده کنید (یا اگر پروکسی API را در XML تعریف کردهاید، فایلهای XML را برای پراکسی ویرایش کنید):
- وارد رابط کاربری Edge management در https://enterprise.apigee.com شوید.
- در منوی Edge management UI، APIs را انتخاب کنید.
- نام پروکسی API را برای به روز رسانی انتخاب کنید.
- تب توسعه را انتخاب کنید.
- در قسمت Target Endpoints ، پیش فرض را انتخاب کنید.
- در ناحیه کد، عنصر
<HTTPTargetConnection>
را ویرایش کنید تا عنصر<SSLInfo>
را اضافه کنید. مطمئن شوید که keystore و نام مستعار کلید درست را مشخص کرده اید و هر دو عنصر<Enabled>
و<ClientAuthEnabled>
را روی true تنظیم کنید:<TargetEndpoint name="default"> ... <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeyStoreRef</KeyStore> <KeyAlias>myKey</KeyAlias> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> ... </TargetEndpoint>
- پروکسی API را ذخیره کنید. اگر پروکسی API مستقر شده باشد، ذخیره آن با تنظیم جدید مجدداً مستقر می شود.
برای اطلاعات بیشتر در مورد گزینه های موجود در <TargetEndpoint>
، از جمله استفاده از متغیرها برای ارائه مقادیر TargetEndpoint <SSLInfo>
، به مرجع پیکربندی پروکسی API مراجعه کنید.
فعال کردن SNI
Edge از استفاده از نشانگر نام سرور (SNI) از پردازندههای پیام برای هدفیابی نقاط پایانی در Apigee Edge برای Cloud و برای استقرار Private Cloud پشتیبانی میکند.
برای اینکه Edge for the Private Cloud با پشتیبانهای هدف موجود شما سازگار باشد، Apigee SNI را به طور پیشفرض غیرفعال کرد. اگر باطن هدف شما برای پشتیبانی از SNI پیکربندی شده است، می توانید این ویژگی را فعال کنید. برای اطلاعات بیشتر به استفاده از SNI با Edge مراجعه کنید.