View a markdown version of this page

Memecahkan masalah distribusi - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah distribusi

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki kesalahan sertifikat, masalah akses yang ditolak, atau masalah umum lainnya yang mungkin Anda temui saat menyiapkan situs web atau aplikasi Anda dengan distribusi Amazon CloudFront .

CloudFront mengembalikan sebuah Akses Ditolak kesalahan

Jika Anda menggunakan bucket Amazon S3 sebagai sumber CloudFront distribusi, Anda mungkin melihat pesan kesalahan Access Denied (403) dalam contoh berikut.

Anda menentukan objek yang hilang dari asal Amazon S3

Verifikasi bahwa objek yang diminta di bucket Anda ada. Nama objek peka huruf besar/kecil. Memasukkan nama objek yang tidak valid dapat mengembalikan kode kesalahan akses ditolak.

Misalnya, jika Anda mengikuti CloudFront tutorial untuk membuat distribusi dasar, Anda membuat bucket Amazon S3 sebagai asal dan mengunggah index.html file contoh.

Di browser web Anda, jika Anda memasukkan al https://d111111abcdef8.cloudfront.net/INDEX.HTML ih-alihhttps://d111111abcdef8.cloudfront.net/index.html, Anda mungkin melihat pesan serupa karena index.html file di jalur URL peka huruf besar/kecil.

<Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>22Q367AHT7Y1ABCD</RequestId> <HostId> ABCDE/Vg+7PSNa/d/IfFQ8Fb92TGQ0KH0ZwG5iEKbc6+e06DdMS1ZW+ryB9GFRIVtS66rSSy6So= </HostId> </Error>

Asal Amazon S3 Anda tidak memiliki izin IAM

Pastikan Anda telah memilih bucket Amazon S3 yang benar sebagai domain dan nama asal. Asal (Amazon S3) harus memiliki izin yang benar.

Jika Anda tidak menentukan izin yang benar, AccessDenied pesan dapat muncul untuk pemirsa Anda.

Saat Anda mendistribusikan konten dari Amazon S3 dan Anda juga menggunakan AWS Key Management Service (AWS KMS) enkripsi sisi layanan (SSE-KMS), ada izin IAM tambahan yang perlu Anda tentukan untuk kunci KMS dan bucket Amazon S3. Distri CloudFront busi Anda memerlukan izin ini untuk menggunakan kunci KMS, yang digunakan untuk enkripsi bucket Amazon S3 asal..

Konfigurasi kebijakan bucket Amazon S3 memungkinkan CloudFront distribusi mengambil objek terenkripsi untuk pengiriman konten.

Untuk memverifikasi bucket Amazon S3 dan izin kunci KMS Anda
  1. Pastikan kunci KMS yang Anda gunakan adalah kunci yang sama dengan yang digunakan bucket Amazon S3 Anda untuk enkripsi default. Untuk informasi selengkapnya, lihat Menentukan enkripsi sisi server dengan AWS KMS (SSE-KMS) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

  2. Verifikasi bahwa objek dalam bucket dienkripsi dengan kunci KMS yang sama. Anda dapat memilih objek apa pun dari bucket Amazon S3 dan memeriksa pengaturan enkripsi sisi server untuk memverifikasi kunci KMS ARN.

  3. Edit kebijakan bucket Amazon S3 untuk CloudFront memberikan izin memanggil operasi GetObject API dari bucket Amazon S3. Untuk contoh kebijakan bucket Amazon S3 yang menggunakan kontrol akses asal, lihatBer CloudFront ikan izin untuk mengakses bucket S3.

  4. Edit kebijakan kunci KMS untuk memberikan CloudFront izin untuk melakukan tindakan keEncrypt,Decrypt, danGenerateDataKey*. Untuk menyelaraskan dengan izin hak istimewa terkecil, tentukan Condition elemen sehingga hanya CloudFront distribusi yang ditentukan yang dapat melakukan tindakan yang terdaftar. Anda dapat menyesuaikan kebijakan untuk AWS KMS kebijakan yang ada. Untuk contoh kebijakan kunci KMS, lihat. SSE-KMS

Jika Anda menggunakan identitas akses asal (OAI) alih-alih OAC, izin ke bucket Amazon S3 sedikit berbeda karena Anda memberikan izin ke identitas, bukan. Layanan AWS Untuk informasi selengkapnya, lihat Memberikan izin identitas akses asal untuk membaca file di bucket Amazon S3.

Jika Anda masih tidak dapat melihat file di distribusi Anda, lihatSaya tidak dapat melihat file dalam distribusi saya.

Anda menggunakan kredentif yang tidak valid atau tidak memiliki izin yang memadai

Pesan kesalahan Akses Ditolak dapat muncul jika Anda menggunakan kredentif yang salah AWS SCT atau kedaluwarsa (kunci akses dan kunci rahasia) atau peran atau pengguna IAM Anda kehilangan izin yang diperlukan untuk melakukan tindakan pada CloudFront sumber daya. Untuk informasi selengkapnya tentang pesan kesalahan akses ditolak, lihat Mem ecahkan masalah pesan kesalahan akses ditolak di Panduan Pengguna IAM.

Untuk informasi tentang cara kerja IAM CloudFront, lihatManajemen Identitas dan Akses untuk Amazon CloudFront.

CloudFront mengembalikan sebuah InvalidViewerCertificate kesalahan ketika saya mencoba menambahkan nama domain alternatif

Jika CloudFront mengembalikan InvalidViewerCertificate kesalahan saat Anda mencoba menambahkan nama domain alternatif (CNAME) ke distribusi Anda, tinjau informasi berikut untuk membantu memecahkan masalah. Kesalahan ini dapat menunjukkan bahwa salah satu masalah berikut ini harus diselesaikan sebelum Anda dapat menambahkan nama domain alternatif dengan sukses.

Kesalahan berikut tercantum dalam urutan CloudFront pemeriksaan otorisasi untuk menambahkan nama domain alternatif. Ini dapat membantu Anda memecahkan masalah karena berdasarkan kesalahan yang muncul CloudFront , Anda dapat mengetahui pemeriksaan verifikasi mana yang berhasil diselesaikan.

Tidak ada sertifikat terlampir pada distribusi Anda.

Untuk menambahkan nama domain alternatif (CNAME), Anda harus melampirkan sertifikat yang valid dan tepercaya ke distribusi Anda. Silakan tinjau persyaratan, dapatkan sertifikat yang valid yang memenuhinya, lampirkan ke distribusi Anda, kemudian coba lagi. Untuk informasi selengkapnya, lihat Persyaratan untuk menggunakan nama domain alternatif.

Ada terlalu banyak sertifikat dalam rantai sertifikat untuk sertifikat yang Anda lampirkan.

Anda hanya dapat memiliki hingga lima sertifikat dalam rantai sertifikat. Kurangi jumlah sertifikat dalam rantai, kemudian coba lagi.

Rantai sertifikat mencakup satu atau beberapa sertifikat yang tidak berlaku untuk tanggal saat ini.

Rantai sertifikat untuk sertifikat yang telah Anda tambahkan memiliki satu atau beberapa sertifikat yang tidak valid, baik karena sertifikat belum valid atau sertifikat telah kedaluwarsa. Centang bidang Tidak Val id Sebelum dan Tidak Valid Setelah di sertifikat dalam rantai sertifikat Anda untuk memastikan bahwa semua sertifikat valid berdasarkan tanggal yang telah Anda daftarkan.

Sertifikat yang Anda lampirkan tidak ditandatangani oleh Otoritas Sertifikat (CA) tepercaya.

Sertifikat yang Anda lampirkan CloudFront untuk memverifikasi nama domain alternatif tidak dapat berupa sertifikat yang ditandatangani sendiri. Informasi tersebut harus ditandatangani oleh CA tepercaya. Untuk informasi selengkapnya, lihat Persyaratan untuk menggunakan nama domain alternatif.

Sertifikat yang Anda lampirkan tidak diformat dengan benar

Nama domain dan format alamat IP yang disertakan dalam sertifikat, dan format sertifikat itu sendiri, harus mengikuti standar sertifikat.

Ada kesalahan CloudFront internal.

CloudFront diblokir oleh masalah internal dan tidak dapat melakukan pemeriksaan validasi untuk sertifikat. Dalam skenario ini, CloudFront mengembalikan kode status HTTP 500 dan menunjukkan bahwa ada CloudFront masalah internal dengan melampirkan sertifikat. Tunggu beberapa menit, lalu coba lagi untuk menambahkan nama domain alternatif dengan sertifikat.

Sertifikat yang telah Anda lampirkan tidak mencakup nama domain alternatif yang Anda coba tambahkan.

Untuk setiap nama domain alternatif yang Anda tambahkan, Anda CloudFront harus melampirkan SSL/TLS sertifikat yang valid dari Otoritas Sertifikat (CA) tepercaya yang mencakup nama domain, untuk memvalidasi otorisasi Anda untuk menggunakannya. Harap perbarui sertifikat Anda untuk menyertakan nama domain yang mencakup CNAME yang Anda coba tambahkan. Untuk informasi lebih lanjut dan contoh penggunaan nama domain dengan wildcard, lihat Persyaratan untuk menggunakan nama domain alternatif.

CloudFront mengembalikan kesalahan catatan DNS yang tidak dikonfigurasi dengan benar ketika saya mencoba menambahkan CNAME baru

Bila Anda memiliki entri DNS wildcard yang ada yang menunjuk ke CloudFront distribusi, jika Anda mencoba menambahkan CNAME baru dengan nama yang lebih spesifik, Anda mungkin mengalami kesalahan berikut:

One or more aliases specified for the distribution includes an incorrectly configured DNS record that points to another CloudFront distribution. You must update the DNS record to correct the problem.

Kesalahan ini terjadi karena CloudFront query DNS terhadap CNAME dan entri DNS wildcard diselesaikan ke distribusi lain.

Untuk mengatasi ini, pertama buat distribusi lain, lalu buat entri DNS yang menunjuk ke distribusi baru. Terakhir, tambahkan CNAME yang lebih spesifik. Untuk informasi selengkapnya tentang cara menambahkan CName, lihatMenambahkan nama domain alternatif.

Saya tidak dapat melihat file dalam distribusi saya

Jika Anda tidak dapat melihat file dalam CloudFront distribusi Anda, lihat topik berikut untuk beberapa solusi umum.

Apakah Anda mendaftar untuk keduanya CloudFront dan Amazon S3?

Untuk menggunakan Amazon CloudFront dengan asal Amazon S3, Anda harus mendaftar untuk keduanya CloudFront dan Amazon S3, secara terpisah. Untuk informasi selengkapnya tentang mendaftar CloudFront dan Amazon S3, lihatSiapkan Anda Akun AWS.

Apakah izin bucket dan objek Amazon S3 Anda diatur dengan benar?

Jika Anda menggunakan CloudFront dengan asal Amazon S3, versi asli konten Anda disimpan dalam bucket S3. Untuk menyajikan konten kepada pemirsa, sebaiknya gunakan CloudFront Origin Access Control (OAC) untuk mengamankan akses bucket Amazon S3. Ini berarti bucket S3 Anda hanya dapat dijangkau melalui CloudFront. OAC mengontrol akses penampil dan pengiriman aman melalui CloudFront. Untuk informasi lebih lanjut tentang OAC, lihatBatasi akses ke asal Amazon S3.

Untuk informasi selengkapnya tentang mengelola akses bucket Anda, lihat Mem blokir akses publik ke penyimpanan Amazon S3 Anda di Panduan Pengguna Amazon S3.

Properti objek dan properti bucket bersifat independen. Anda harus secara eksplisit memberikan hak istimewa ke setiap objek di Amazon S3. Objek tidak mewarisi properti dari buket, dan properti objek harus ditetapkan secara terpisah dari buket.

Apakah nama domain alternatif Anda (CNAME) dikonfigurasi dengan benar?

Jika Anda sudah memiliki catatan CNAME untuk nama domain Anda, perbarui catatan tersebut atau ganti dengan yang baru yang menunjuk ke nama domain distribusi Anda.

Selain itu, pastikan CNAME Anda menyimpan poin ke nama domain distribusi Anda, bukan bucket Amazon S3. Anda dapat mengonfirmasi bahwa catatan CNAME di sistem DNS Anda menunjukkan nama domain distribusi Anda. Untuk melakukannya, gunakan alat DNS sepertidig.

Contoh berikut menunjukkan permintaan penggalian untuk nama domain yang disebut images.example.com dan bagian terkait dari tanggapan. Di bawah ANSWER SECTION, lihat baris yang berisi CNAME. Catatan CNAME untuk nama domain Anda diatur dengan benar jika nilai di sisi kanan CNAME adalah nama domain CloudFront distribusi Anda. Jika itu adalah bucket server asal Amazon S3 atau beberapa nama domain lainnya, maka catatan CNAME diatur dengan tidak benar.

[prompt]> dig images.example.com ; <<> DiG 9.3.3rc2 <<> images.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;images.example.com. IN A ;; ANSWER SECTION: images.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net. ... ...

Untuk informasi selengkapnya tentang CNAME, lihat Gunakan URL khusus dengan menambahkan nama domain alternatif (CNames).

Apakah Anda merujuk URL yang benar untuk CloudFront distribusi Anda?

Pastikan URL yang Anda rujuk menggunakan nama domain (atau CNAME) CloudFront distribusi Anda, bukan bucket Amazon S3 atau asal kustom Anda.

Apakah Anda memerlukan bantuan dalam memecahkan masalah asal khusus?

Jika Anda AWS perlu membantu memecahkan masalah asal khusus, kami mungkin perlu memeriksa entri X-Amz-Cf-Id header dari permintaan Anda. Jika Anda belum mencatat entri ini, Anda mungkin ingin mempertimbangkannya untuk masa depan. Untuk informasi selengkapnya, lihat Gunakan Amazon EC2 (atau asal khusus lainnya). Untuk bantuan lebih lanjut, lihat Pusat Dukungan AWS.

Pesan kesalahan: Sertifikat: < certificate-id > sedang digunakan oleh CloudFront

Masalah: Anda mencoba menghapus SSL/TLS sertifikat dari penyimpanan sertifikat IAM, dan Anda mendapatkan pesan “Sertifikat: <certificate-id>sedang digunakan oleh CloudFront.”

Solusi: Setiap CloudFront distribusi harus dikaitkan dengan CloudFront sertifikat default atau dengan SSL/TLS sertifikat khusus. Sebelum Anda dapat menghapus SSL/TLS sertifikat, Anda harus memutar sertifikat (mengganti sertifikat kustom saat ini dengan SSL/TLS SSL/TLS sertifikat kustom lain) atau kembali dari menggunakan SSL/TLS sertifikat kustom ke menggunakan CloudFront sertifikat default. Untuk memperbaikinya, selesaikan langkah-langkah di salah satu prosedur berikut: