এস 3 সহ অ্যামাজন ক্লাউডফ্রন্ট। অ্যাক্সেস অস্বীকৃত


91

আমরা ক্লাউডফ্রন্টের মাধ্যমে এস 3 বালতি বিতরণ করার চেষ্টা করছি তবে কোনও কারণে একমাত্র প্রতিক্রিয়া হ'ল এক্সেসডেনড এক্সএমএল ডকুমেন্টটি নীচের মত:

<Error>
    <Code>AccessDenied</Code>
    <Message>Access Denied</Message>
    <RequestId>89F25EB47DDA64D5</RequestId>
    <HostId>Z2xAduhEswbdBqTB/cgCggm/jVG24dPZjy1GScs9ak0w95rF4I0SnDnJrUKHHQC</HostId>
</Error>

আমরা ব্যবহার করছি সেটিংসটি এখানে:

বিতরণ সেটিংস মূল সেটিংস

এবং এখানে বালতি জন্য নীতি

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity *********"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::x***-logos/*"
        }
    ]
}

ক্যাশে আচরণ সেটিংস - imgur.com/JBZqrRm
জর্দান অ্যাডামস

নিশ্চিত করুন যে ক্লাউডফ্রন্ট এস 3 বালতি থেকে পড়তে পারে।
নাথান সি

আমি কীভাবে এটি সক্ষম বা চেক করব?
জর্দান অ্যাডামস

মূল সেটিংস, শেষ বিকল্প। আপনার স্ক্রিনশট দেখুন। :)
নাথান সি

আমি মনে করি আমি এটি আগে চেষ্টা করেছি এবং এটি কার্যকর হয়নি তবে আমি আবার এটি পরিবর্তন করেছি এবং এটি বিতরণের প্রক্রিয়াধীন। আমি আমার পোষ্টে বালতির নীতি যুক্ত করব :)
জর্দান অ্যাডামস

উত্তর:


91

আপনি যদি আপনার ক্লাউডফ্রন্ট বিতরণের মূলটি অ্যাক্সেস করছেন তবে আপনার একটি ডিফল্ট রুট অবজেক্ট সেট করা দরকার: http://docs.aws.amazon.com/AmamaCCoud LoudFront/latest/DeveloperGuide/DefaultRootObject.html

ক্লাউডফ্রন্ট কনসোল ব্যবহার করে একটি ডিফল্ট রুট অবজেক্ট নির্দিষ্ট করতে:

  • এডাব্লুএস ম্যানেজমেন্ট কনসোলে সাইন ইন করুন এবং https://console.aws.amazon.com/cloudfront/ এ অ্যামাজন ক্লাউডফ্রন্ট কনসোলটি খুলুন ।

  • উপরের ফলকে বিতরণের তালিকায়, আপডেট করতে বিতরণটি নির্বাচন করুন।

  • ইন বিতরণ বিশদ বিবরণ ফলকে , উপর সাধারণ ট্যাব ক্লিক করুন সম্পাদনা

  • ইন বিতরণ সম্পাদনা ডায়ালগ বক্সের মধ্যে ডিফল্ট রুট অবজেক্ট ক্ষেত্র, ডিফল্ট রুট বস্তুর ফাইলের নাম লিখুন।

    উদাহরণস্বরূপ, কেবলমাত্র বস্তুর নাম লিখুন index.html। বস্তুর নামের আগে / যুক্ত করবেন না।

  • আপনার পরিবর্তনগুলি সংরক্ষণ করতে, হ্যাঁ, সম্পাদনা ক্লিক করুন


আমার ক্ষেত্রে, এই সেটিংটি সমস্যার সমাধান করেনি। আমি এখনও অ্যাক্সেস অস্বীকৃত ত্রুটি পেয়ে যাচ্ছি
কুড়িওজেড 7

53

আমি ঠিক একই সমস্যা ছিল থাকেন এবং যখন Kousha এর উত্তরের জন্য সমস্যা সমাধান করতে সক্ষম index.html রুট পাথ, আমার সমস্যা হিসেবে আমি সঙ্গে মিলিত ঐ ব্যবহৃত একটি উপ-ডিরেক্টরির সঙ্গে ছিল index.html (পেতে "প্রশংসনীয় URL গুলি" উদাহরণ .কম / কিছু / "কুরুচিপূর্ণ" উদাহরণ.com/something.html এর চেয়ে)

আংশিকভাবে এটি অ্যামাজনেরও দোষ, কারণ আপনি যখন ক্লাউডফ্রন্ট বিতরণ সেট আপ করবেন তখন এটি আপনাকে পছন্দ করতে এস 3 বালতি সরবরাহ করবে, তবে আপনি যদি এর মধ্যে একটি চয়ন করেন তবে এটি ব্যাকএন্ড হিসাবে স্থির ওয়েবসাইট হোস্টিং URL এর পরিবর্তে বালতি URL ব্যবহার করবে।

সুতরাং সমস্যাটি সমাধান করতে:

  • বালতি জন্য স্থিত ওয়েবসাইট হোস্টিং সক্ষম করুন
  • সূচক (এবং সম্ভবত ত্রুটি ) নথিটি যথাযথভাবে সেট করুন
  • এন্ডপয়েন্ট পয়েন্ট ইউআরএল অনুলিপি করুন - উপরের সেটিংসের পাশে আপনি এটি সন্ধান করতে পারেন - এটির মতো দেখতে হবে: <bucket.name> .s3-ওয়েবসাইট- <aws-region> .amazonaws.com
  • আপনার ক্লাউডফ্রন্ট বিতরণ উত্স হিসাবে সেই URL টি ব্যবহার করুন। (এটি সিএফ ডিফল্ট রুট অবজেক্ট সেটিংসকে অপ্রয়োজনীয় করে তুলবে , তবে যাইহোক এটি সেট করতে ক্ষতি করে না)

এই মন্তব্যে তারিখ হিসাবে নিখুঁত উত্তর।
সায় রামচন্দ্রন

এটি আমার জন্যও ছিল। আমার ইতিমধ্যে অন্য একটি ওয়েবসাইট কাজ করছে এবং ভেবেছিলাম যে আমি নতুনটিকে একটির মতো কনফিগার করেছি। এটিকে উপেক্ষা করা এত সহজ।
গুনথার ইবারেল

আপনাকে বালতিতে পাবলিক গেটোবজেক্ট এবং লিস্টওবজেক্টের অনুমতিও যুক্ত করতে হবে।
জর্জেস

8

আমার কাছে @ সিজেজের মতো একই সমস্যা ছিল, যদিও সমাধানটি আমার ক্ষেত্রে কার্যকর হবে না।

অচিরেই স্থির ওয়েবসাইট হোস্টিংটি বালতিটির জন্য সক্ষম হওয়ার সাথে সাথে এর অর্থ ব্যবহারকারীরা ক্লাউডফ্রন্ট URL বা এস 3 URL- এর মাধ্যমে সামগ্রীটি অ্যাক্সেস করতে পারবেন যা সর্বদা কাম্য নয়। উদাহরণস্বরূপ, আমার ক্ষেত্রে, ক্লাউডফ্রন্ট বিতরণটি এসএসএল সক্ষম, এবং ব্যবহারকারীরা এটি কোনও নন-এসএসএল সংযোগের মাধ্যমে অ্যাক্সেস করতে সক্ষম হবেন না।

আমি যে সমাধানটি পেয়েছি তা হ'ল:

  • স্থির ওয়েবসাইট হোস্টিং এস 3 বালতি অক্ষম রাখুন
  • ক্লাউডফ্রন্ট বিতরণ উত্সকে এস 3 আইডি হিসাবে রাখুন
  • "বালতি অ্যাক্সেসকে সীমাবদ্ধ করুন" "হ্যাঁ" তে সেট করুন (এবং স্বাচ্ছন্দ্যের জন্য ক্লাউডফ্রন্টকে স্বয়ংক্রিয়ভাবে বালতি নীতি আপডেট করার অনুমতি দিন)
  • "ত্রুটি পৃষ্ঠাগুলিতে", একটি কাস্টম প্রতিক্রিয়া তৈরি করুন এবং 200 এর প্রতিক্রিয়া কোড সহ পছন্দসই প্রতিক্রিয়া পৃষ্ঠাতে /indind.html "403: নিষিদ্ধ" মানচিত্রের ত্রুটি কোড তৈরি করুন

যদিও লক্ষ করুন যে আমার ক্ষেত্রে, আমি একক পৃষ্ঠার জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন পরিবেশন করছি যেখানে সমস্ত পাথ ইন্ডেক্স.html দ্বারা সমাধান করা হয়েছে। যদি আপনি এমন পাথগুলি থাকেন যা আপনার এস 3 বাল্টির বিভিন্ন বিষয়গুলিতে সমাধান করে তবে এটি কার্যকর হবে না।


1
আপনার উত্তরের জন্য ধন্যবাদ. এই আমার জন্য কাজ করে। আপনার মতো সমস্যাও আমার ছিল। আমি চাইনি লোকেরা আমার এস 3 বালতি অ্যাক্সেস করবে, সুতরাং আমার এস 3 অরিজিনে অ্যাক্সেস সীমাবদ্ধ করা দরকার, যা ক্লাউডফ্রন্টের স্বয়ংক্রিয়-সম্পূর্ণ দ্বারা প্রস্তাবিত হিসাবে আপনি যখন উত্স পূরণ করেন তখনই কাজ করে। যদিও একদিকে খেয়াল করুন, আপনাকে স্থির ওয়েবসাইট হোস্টিং অক্ষম করতে হবে না। কেবল বালতি নীতি সরানো যা জনসাধারণের অ্যাক্সেসের অনুমতি দেয়।
টর্স্টেন

এটি সত্যিই সহায়ক ছিল, নিষিদ্ধ বার্তাটি এস 3 এর থেকে আসে যা আমি প্রথমে বুঝতে পারি নি, সুতরাং আপনাকে এটি একটি কাস্টম ত্রুটির পৃষ্ঠাতে ধরতে হবে যাতে আপনার এসপিএ কাজ করে।
ইভান

4

আমার ক্ষেত্রে আমি আমার এস 3 বালতিতে একটি উত্স পথের সাথে "প্যাথ প্যাটার্ন" আচরণকারীগুলির সাথে একাধিক উত্স ব্যবহার করছিলাম:

খারাপ সেটআপ:

ক্লাউডফ্রন্ট আচরণ: /images/*->My-S3-origin

আমার-এস 3-উত্স: উত্সের পথ: /images

এস 3 ফাইল: /images/my-image.jpg

অনুরোধটি পান: /images/my-image.jpg -> 403

যা হচ্ছিল তা হ'ল পুরো ক্লাউডফ্রন্ট জিইটি অনুরোধটি মূলটিকে পাঠানো হয়েছে: /image/my-image.jpgঅরিজিন পাথের উপসর্গযুক্ত: /imagesসুতরাং এস 3-তে অনুরোধটি /images/images/my-image.jpgউপস্থিত রয়েছে যা উপস্থিত নেই।

সমাধান

মূল পথটি সরান।

এটি আমাকে আসল অ্যাক্সেস পরিচয় এবং বালতি অনুমতি এবং স্বতন্ত্র ফাইল অনুমতিগুলি সীমাবদ্ধ সহ বালতিতে অ্যাক্সেসের অনুমতি দেয়।


1

আমার ক্ষেত্রে আমি রুট 53 টি ভুলভাবে কনফিগার করেছি। আমি আমার ডোমেনটিতে একটি এলিয়াস তৈরি করেছি তবে ক্লাউডফ্রন্ট বিতরণের পরিবর্তে এটি এস 3 বাল্টে দেখিয়েছি।

এছাড়াও আমি ডিফল্ট রুট অবজেক্টটি বাদ দিয়েছি। কনসোলটি এটিকে বাদ দেওয়ার সম্ভাব্য পরিণতিগুলি সম্পর্কে প্রশ্ন চিহ্ন পাঠ্যে কিছুটা তথ্য যুক্ত করলে সত্যিই উন্নতি হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.