میزبانی وبسایت ایستا
سرویس آبجکتاستوریج میتواند از وبسایتهای ایستا (static) میزبانی کند. وبسایتهای ایستا دارای محتویات ایستا مانند عکس، صفحات html یا اسکریپتهای سمت کاربر (مانند جاوااسکریپت) هستند. بدین صورت که با معرفی فایل اصلی HTML در تنظیمات باکت میتوانید مشخص کنید آدرس اعلام شده از سمت شما به کدام آبجکت اشاره کند.
توجه کنید که سرویس آبجکتاستوریج از وبسایتهای پویا که شامل اسکریپتهای سمت سرور مانند PHP و ASP.NET هستند، پشتیبانی نمیکند. برای استفاده از میزبانی وبسایت سرویس آبجکتاستوریج باید یک باکت را که محتوی فایلهای وبسایت است به این سرویس معرفی کنید.
زمانی که یک باکت را به عنوان وبسایت تنظیم میکنید، نشانی وبسایت شما با توجه به اینکه باکت شما در کدام دیتاسنتر قرار دارد به یکی از این دو شکل خواهد بود (به عبارت website در نشانیها توجه کنید):
http://bucket-name.s3-website.thr2.sotoon.ir
http://bucket-name.s3-website.thr1.sotoon.ir
برای تنظیم یک باکت به عنوان وبسایت میتوانید با استفاده از ابزار aws و دستور website به این شکل استفاده کنید. همین طور در نسخه جدید پنل استوریج میتوانید از بخش تنظیمات باکت نیز این قابلیت را فعال کنید:
استفاده از تنظیمات index-document و error-document اختیاری است.
تنظیمات Index-document: مقدار index-document به صورت پسوند به درخواستهایی که مربوط به یک دایرکتوری باشند، اضافه میشود. به عنوان مثال اگر شما برای وبسایتتان index.html را به عنوان index-document قرار داده باشید، و یک کاربر نشانی مربوط به دایرکتوری my-bucket/images را در مرورگر قرار دهد، فایل my-bucket/images/index.html باز خواهد شد. مقدار index-document نمیتواند حاوی / باشد.
تنظیمات error-document: نشانی فایلی که در صورت وقوع خطاهای 4xx باید برای کاربر نشان داده شود.
برای اینکه مرورگر بتواند فایلهای شما را به درستی نمایش دهد، باید هدر Content-Type برای فایلهای شما تنظیم شود. این مقدار را در زمان بارگذاری فایلها میتوانید از طریق مشخص کردن مقدار content-type، تنظیم کنید. برای مثال، بارگذاری یک فایل HTML به این صورت خواهد بود:
برای اینکه وبسایت شما دسترسی عمومی داشته باشد، باید با استفاده از باکت پالیسی دسترسی خواندن را به صورت عمومی باز کنید. لازم به ذکر است دسترسی عمومی به باکت کافی نیست و لازم است آبجکتهایی که به صفحات پابلیک شما اشاره میکنند نیز باید عمومی باشند.
راه دیگر تنظیم دسترسی خواندن عمومی از طریق ACL در هنگام بارگذاری فایلهاست. همین طور میتوانید از بخش تنظیمات آبجکت یا باکت از طریق پنل اوشن نیز این تغییرات را اعمال کنید:
برای تنظیمات پیشرفتهتر وبسایت میتوانید از دستور put-bucket-website استفاده کنید:
یک مثال از فایل website.json:
برای اطلاع دقیق از تنظیمات قابل استفاده در فایل website.json و نحوه استفاده از آنها به این صفحه در مستندات ابزار aws مراجعه فرمایید.
مطالعه بیشتر: