amazon web services خدمات أصول كلاودفرونت متعددة مع إعادة توجيه مسار السلوك



aws sign up (1)

تحديث: الجواب أدناه كان دقيقا عندما كتبت في عام 2015، وصحيح على أساس السلوك المدمج في كلودفرونت نفسها.

ومع ذلك، فإن إدخال لامدا @ حافة في عام 2017 يغير ديناميكية.

لامدا @ إدج يسمح لك أن تعلن السنانير الزناد في تدفق كلودفرونت وكتابة وظائف جافا سكريبت الصغيرة التي تفقد ويمكن تعديل الطلب الوارد، إما قبل يتم فحص ذاكرة التخزين المؤقت كلودفرونت (طلب المشاهد)، أو بعد فحص ذاكرة التخزين المؤقت (طلب المنشأ). هذا يسمح لك بإعادة كتابة المسار في أوري الطلب. يمكنك، على سبيل المثال، تحويل مسار طلب من متصفح /download/images/cat.png لإزالة /download ، مما يؤدي إلى إرسال طلب إلى S3 (أو أورجين مخصص) ل /images/cat.png .

لا يقوم هذا الخيار بتعديل سلوك ذاكرة التخزين المؤقت الذي سيخدم الطلب بالفعل، لأن ذلك يعتمد دائما على المسار كما طلب المتصفح - ولكن يمكنك بعد ذلك تعديل المسار أثناء الطيران بحيث يكون الكائن المطلوب الفعلي في مسار آخر من تلك التي طلبها المتصفح.

لمجرد إضافة بادئة على الطلب من المتصفح، يمكن استخدام إعداد مسار المنشأ، كما هو موضح أدناه، ولكن لإزالة مكونات المسار أو تعديلها يتطلب لامدا @ إدج.

نعم، يجب أن تكون الأنماط موجودة في الأصل.

كلودفرونت، أصلا. يمكن أن يكون مسبقا للمسير بالنسبة إلى منشأ معين، ولكنه لا يملك حاليا القدرة على إزالة عناصر المسير (بدون لامدا @ إدج، كما ذكر أعلاه).

إذا كانت الملفات الخاصة بك في /secret/files/ في الأصل، هل يمكن أن يكون نمط مسار /files/* تحول قبل إرسال الطلب إلى الأصل عن طريق تحديد "مسار المنشأ".

العكس ليس صحيحا. إذا كانت الملفات في /files في الأصل، ليس هناك طريقة مدمجة لخدمة تلك الملفات من مسار نمط /download/files/* .

يمكنك إضافة (بادئة) ولكن لا يسلب.

الحل البديل نسبيا سيكون ملقم وكيل عكس على مثيل EC2 في نفس المنطقة كما دلو S3، مشيرا كلاودفرونت إلى الوكيل وكيل إلى S3. سيقوم الوكيل بإعادة كتابة طلب هتب في طريقه إلى S3 وبدء الاستجابة الناتجة إلى كلودفرونت. يمكنني استخدام الإعداد مثل هذا ولم يخيب لي أبدا مع أدائها. (برنامج بروكسي العكسي أنا وضعت يمكن أن تحقق في الواقع دلاء متعددة في موازاة أو سلسلة والعودة أول استجابة غير الخطأ الذي يتلقاه، ل كلودفرونت والطلب).

أو، في حالة استخدام نقاط نهاية موقع الويب S3 كأصول مخصصة، يمكنك استخدام قواعد توجيه إعادة توجيه S3 لإرجاع إعادة التوجيه إلى كلودفرونت، وإرسال المتصفح مرة أخرى مع إزالة البادئة غير المعالجة. وهذا يعني طلب إضافي لكل كائن، وزيادة الكمون والتكلفة إلى حد ما، ولكن يمكن تعيين قواعد إعادة توجيه S3 لاطلاق النار إلا عندما لا تطابق الطلب في الواقع ملف في دلو. وهذا مفيد للانتقال من بنية هرمية واحدة إلى أخرى.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html

http://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html

لدي اثنين من دلاء S3 التي تعمل كخوادم الأصل كلاودفرونت:

example-bucket-1
example-bucket-2

وتعيش محتويات كل من الدلاء في جذور تلك الدلاء. أحاول تهيئة توصيف كلاودفرونت ليتم توجيهه أو إعادة كتابته استنادا إلى نمط عنوان ورل. على سبيل المثال، مع هذه الملفات

example-bucket-1/something.jpg
example-bucket-2/something-else.jpg

أود أن أشير إلى عناوين ورل هذه إلى الملفات المعنية

http://example.cloudfront.net/path1/something.jpg
http://example.cloudfront.net/path2/something-else.jpg

حاولت إعداد سلوكيات ذاكرة التخزين المؤقت التي تتطابق مع المسار 1 وأنماط المسار 2، ولكنها لا تعمل. هل يجب أن توجد الأنماط فعليا في دلو S3؟





amazon-cloudfront