Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bucket dengan hosting virtual
Hosting virtual adalah praktik melayani beberapa situs web dari server web tunggal. Salah satu cara untuk membedakan situs dalam permintaan Amazon REST API S3 Anda adalah dengan menggunakan nama host yang jelas dari Permintaan URI - bukan hanya bagian nama jalur dari. URI RESTPermintaan Amazon S3 biasa menentukan bucket dengan menggunakan komponen garis miring pertama dari jalur Permintaan. URI Sebagai gantinya, Anda dapat menggunakan hosting virtual Amazon S3 untuk mengatasi ember dalam REST API panggilan dengan menggunakan header. HTTP Host
Dalam praktiknya, Amazon S3 menafsirkan Host
sebagai arti bahwa sebagian besar bucket secara otomatis dapat diakses untuk jenis permintaan terbatas di https://
. Untuk daftar lengkap titik akhir dan Wilayah Amazon S3, lihat Titik akhir dan kuota Amazon S3 di Referensi Umum Amazon Web Services.bucket-name
.s3.region-code
.amazonaws.com
Hosting virtual juga memiliki manfaat lain. Dengan menamai bucket Anda setelah nama domain terdaftar Anda dan dengan menjadikan nama itu DNS alias untuk Amazon S3, Anda dapat sepenuhnya menyesuaikan URL sumber daya Amazon S3 Anda, misalnya,. http://my.
Anda juga dapat menerbitkan ke “direktori root” dari server virtual bucket Anda. Kemampuan ini bisa menjadi penting, karena banyak aplikasi yang ada mencari file di lokasi standar ini. Misalnya, bucket-name
.com/favicon.ico
, robots.txt
, dan crossdomain.xml
semuanya diharapkan dapat ditemukan di root.
penting
Saat Anda menggunakan bucket bergaya host virtual denganSSL, sertifikat SSL wildcard hanya cocok dengan bucket yang tidak berisi dots (). .
Untuk mengatasi batasan ini, gunakan HTTP atau tulis logika verifikasi sertifikat Anda sendiri. Untuk informasi selengkapnya, lihat Rencana Penghentian Jalur Amazon S3
Topik
Permintaan Cara Jalur
Saat ini, Amazon S3 mendukung akses gaya host virtual dan gaya jalur secara keseluruhan. URL Wilayah AWS Namun, gaya jalur URLs akan dihentikan di masa depan. Untuk informasi selengkapnya, lihat catatan Penting berikut ini.
Di Amazon S3, gaya jalur URLs menggunakan format berikut:
https://s3.
region-code
.amazonaws.com/bucket-name
/key-name
Misalnya, jika Anda membuat bucket bernama amzn-s3-demo-bucket1
di Wilayah AS Barat (Oregon), dan Anda ingin mengakses puppy.jpg
objek di bucket tersebut, Anda dapat menggunakan gaya jalur berikut: URL
https://s3.us-west-2.amazonaws.com/amzn-s3-demo-bucket1/puppy.jpg
penting
Pembaruan (23 September 2020) - Untuk memastikan bahwa pelanggan memiliki waktu yang mereka butuhkan untuk beralih ke gaya host virtualURLs, kami telah memutuskan untuk menunda penghentian gaya jalur. URLs Untuk informasi lebih lanjut, lihat Rencana Penghentian Jalur Amazon S3-Cerita Seluruhnya
Awas
Saat menghosting konten situs web yang akan diakses dari browser web, hindari menggunakan gaya jalurURLs, yang mungkin mengganggu model keamanan asal browser yang sama. Untuk meng-host konten situs web, kami menyarankan Anda menggunakan titik akhir situs web S3 atau distribusi. CloudFront Untuk informasi selengkapnya, lihat Titik akhir situs web dan Menerapkan aplikasi satu halaman berbasis React ke Amazon S3 dan di Pola Panduan Perspektif. CloudFront AWS
Permintaan cara hosting virtual
Dalam gaya host virtualURI, nama bucket adalah bagian dari nama domain di. URL
Gaya host virtual Amazon S3 menggunakan format berikut: URLs
https://
bucket-name
.s3.region-code
.amazonaws.com/key-name
Dalam contoh ini, amzn-s3-demo-bucket1
adalah nama bucket, AS Barat (Oregon) adalah Wilayah, dan puppy.png
adalah nama kuncinya:
https://amzn-s3-demo-bucket1.s3.us-west-2.amazonaws.com/puppy.png
HTTPHost
spesifikasi ember header
Selama GET
permintaan Anda tidak menggunakan SSL titik akhir, Anda dapat menentukan bucket untuk permintaan dengan menggunakan HTTP Host
header. Host
Header dalam REST permintaan ditafsirkan sebagai berikut:
-
Jika
Host
header dihilangkan atau nilainyas3.
, bucket untuk permintaan akan menjadi komponen garis miring-delimited pertama dari Request-URI, dan kunci untuk permintaan akan menjadi sisa Request-. URI Ini adalah metode biasa, seperti yang digambarkan oleh contoh pertama dan kedua di bagian ini. Menghilangkanregion-code
.amazonaws.com.rproxy.goskope.comHost
header hanya berlaku untuk HTTP 1.0 permintaan. -
Atau, jika nilai header
Host
berakhir di.s3.
, nama bucket adalah komponen utama nilai headerregion-code
.amazonaws.com.rproxy.goskope.comHost
hingga.s3.
. Kunci untuk permintaan adalah Permintaan-URI. Interpretasi ini memaparkan bucket sebagai subdomainregion-code
.amazonaws.com.rproxy.goskope.com.s3.
, sebagaimana digambarkan oleh contoh ketiga dan keempat dalam bagian ini.region-code
.amazonaws.com -
Jika tidak, bucket untuk permintaan adalah nilai huruf kecil
Host
header, dan kunci untuk permintaan adalah Request-. URI Interpretasi ini berguna ketika Anda telah mendaftarkan DNS nama yang sama dengan nama bucket Anda dan telah mengonfigurasi nama itu menjadi nama kanonik (CNAME) alias untuk Amazon S3. Prosedur untuk mendaftarkan nama domain dan mengkonfigurasi CNAME DNS catatan berada di luar cakupan panduan ini, tetapi hasilnya diilustrasikan oleh contoh terakhir di bagian ini.
Contoh
Bagian ini memberikan contoh URLs dan permintaan.
contoh — Gaya jalan dan permintaan URLs
Contoh ini menggunakan hal berikut:
-
Nama Bucket ‐
example.com
-
Wilayah AS Timur (Virginia Utara)
-
Nama kunci ‐
homepage.html
URLIni adalah sebagai berikut:
http://s3.us-east-1.amazonaws.com/example.com/homepage.html
Permintaan tersebut adalah sebagai berikut:
GET /example.com/homepage.html HTTP/1.1 Host: s3.us-east-1.amazonaws.com
Permintaan dengan HTTP 1.0 dan menghilangkan Host
header adalah sebagai berikut:
GET /example.com/homepage.html HTTP/1.0
Untuk informasi tentang nama DNS -kompatibel, lihat Batasan. Untuk informasi lebih lanjut tentang kunci, lihat Kunci.
contoh — URLs Virtual-hosted—gaya dan permintaan
Contoh ini menggunakan hal berikut:
-
Nama Bucket ‐
amzn-s3-demo-bucket1
-
Wilayah ‐ Eropa (Irlandia)
-
Nama kunci ‐
homepage.html
URLIni adalah sebagai berikut:
http://amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com/homepage.html
Permintaan tersebut adalah sebagai berikut:
GET /homepage.html HTTP/1.1 Host: amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com
contoh — CNAME metode alias
Untuk menggunakan metode ini, Anda harus mengkonfigurasi DNS nama Anda sebagai CNAME alias untuk
. Untuk informasi selengkapnya, lihat Menyesuaikan Amazon URLs S3 dengan catatan CNAME. bucket-name
.s3.us-east-1.amazonaws.com
Contoh ini menggunakan hal berikut:
-
Nama Bucket ‐
example.com
-
Nama kunci ‐
homepage.html
URLIni adalah sebagai berikut:
http://www.example.com/homepage.html
Contohnya adalah sebagai berikut:
GET /homepage.html HTTP/1.1 Host: www.example.com
Menyesuaikan Amazon URLs S3 dengan catatan CNAME
Tergantung pada kebutuhan Anda, Anda mungkin tidak ingin s3.
muncul di situs web atau layanan Anda. Sebagai contoh, jika Anda meng-hosting gambar situs web di Amazon S3, Anda mungkin lebih memilih region-code
.amazonaws.com.rproxy.goskope.comhttp://images.example.com/
daripada http://images.example.com.s3.us-east-1.amazonaws.com/
. Setiap bucket dengan nama DNS yang kompatibel dapat direferensikan sebagai berikut:
http://
, misalnya,. BucketName
.s3.Region
.amazonaws.com/[Filename
]http://images.example.com.s3.us-east-1.amazonaws.com/mydog.jpg
Dengan menggunakanCNAME, Anda dapat memetakan images.example.com
ke nama host Amazon S3 sehingga yang sebelumnya URL bisa menjadi. http://images.example.com/mydog.jpg
Nama ember Anda harus sama denganCNAME. Misalnya, jika Anda membuat CNAME to map images.example.com
keimages.example.com.s3.us-east-1.amazonaws.com
, keduanya http://images.example.com/filename
dan http://images.example.com.s3.us-east-1.amazonaws.com/filename
akan sama.
CNAMEDNSCatatan harus alias nama domain Anda ke nama host bergaya host virtual yang sesuai. Misalnya, jika nama bucket dan nama domain Anda images.example.com
dan bucket Anda berada di Wilayah AS Timur (Virginia N.), CNAME catatan harus alias. images.example.com.s3.us-east-1.amazonaws.com
images.example.com CNAME images.example.com.s3.us-east-1.amazonaws.com.
Amazon S3 menggunakan nama host untuk menentukan nama bucket. Jadi CNAME dan nama ember harus sama. Misalnya, anggaplah Anda telah mengkonfigurasi www.example.com
sebagai CNAME forwww.example.com.s3.us-east-1.amazonaws.com
. Saat Anda mengakses http://www.example.com
, Amazon S3 menerima permintaan yang serupa dengan yang berikut ini:
GET / HTTP/1.1 Host: www.example.com Date:
date
Authorization:signatureValue
Amazon S3 hanya melihat nama host asli www.example.com
dan tidak mengetahui CNAME pemetaan yang digunakan untuk menyelesaikan permintaan.
Anda dapat menggunakan endpoint Amazon S3 apa pun dalam alias. CNAME Misalnya, s3.ap-southeast-1.amazonaws.com
dapat digunakan dalam CNAME alias. Untuk informasi selengkapnya tentang titik akhir, lihat Meminta Titik Akhir di Referensi Amazon API S3. Untuk membuat situs web statis menggunakan domain khusus, lihat Tutorial: Mengonfigurasi situs web statis menggunakan domain kustom yang terdaftar di Route 53.
penting
Saat menggunakan custom URLs withCNAMEs, Anda harus memastikan ada bucket yang cocok untuk rekaman CNAME atau alias apa pun yang Anda konfigurasikan. Misalnya, jika Anda membuat DNS entri untuk www.example.com
dan login.example.com
mempublikasikan konten web menggunakan S3, Anda harus membuat bucket www.example.com
dan. login.example.com
Saat catatan CNAME atau alias dikonfigurasi dengan menunjuk ke titik akhir S3 tanpa bucket yang cocok, AWS pengguna mana pun dapat membuat bucket tersebut dan memublikasikan konten di bawah alias yang dikonfigurasi, meskipun kepemilikannya tidak sama.
Untuk alasan yang sama, kami menyarankan Anda mengubah atau menghapus yang sesuai CNAME atau alias saat menghapus ember.
Cara mengaitkan nama host dengan bucket Amazon S3
Untuk mengaitkan nama host dengan bucket Amazon S3 dengan menggunakan alias CNAME
-
Pilih nama host milik domain yang Anda kontrol.
Contoh ini menggunakan subdomain
images
dari domainexample.com
. -
Buat bucket yang sesuai dengan nama host.
Dalam contoh ini, nama host dan bucket adalah
images.example.com
. Nama bucket harus sama persis dengan nama host. -
Buat CNAME DNS catatan yang mendefinisikan nama host sebagai alias untuk bucket Amazon S3.
Sebagai contoh:
images.example.com CNAME images.example.com.s3.us-west-2.amazonaws.com
penting
Untuk alasan perutean permintaan, CNAME DNS catatan harus didefinisikan persis seperti yang ditunjukkan pada contoh sebelumnya. Jika tidak, maka catatan akan terlihat beroperasi dengan benar, tetapi pada akhirnya akan menghasilkan perilaku yang tidak dapat diprediksi.
Prosedur untuk mengkonfigurasi CNAME DNS catatan tergantung pada DNS server atau DNS penyedia Anda. Untuk informasi khusus, lihat dokumentasi server Anda atau hubungi penyedia Anda.
Keterbatasan
SOAPsupport over HTTP tidak digunakan lagi, tetapi masih SOAP tersedia di atas. HTTPS Fitur Amazon S3 baru tidak didukung untuk. SOAP Alih-alih menggunakanSOAP, kami sarankan Anda menggunakan salah satu REST API atau AWS SDKs.
Kompatibilitas mundur
Bagian berikut mencakup berbagai aspek kompatibilitas mundur Amazon S3 yang berhubungan dengan permintaan gaya jalur dan gaya host virtual. URL
Titik akhir legasi
Beberapa Wilayah mendukung titik akhir legasi. Anda mungkin melihat titik akhir ini di log atau AWS CloudTrail log akses server Anda. Untuk informasi lebih lanjut, tinjau informasi berikut. Untuk daftar lengkap titik akhir dan Wilayah Amazon S3, lihat Titik akhir dan kuota Amazon S3 di Referensi Umum Amazon Web Services.
penting
Meskipun Anda mungkin melihat titik akhir legasi di log Anda, kami menyarankan Anda untuk selalu menggunakan sintaks titik akhir standar untuk mengakses bucket Anda.
Gaya host virtual Amazon S3 menggunakan format berikut: URLs
https://
bucket-name
.s3.region-code
.amazonaws.com/key-name
Di Amazon S3, gaya jalur URLs menggunakan format berikut:
https://s3.
region-code
.amazonaws.com/bucket-name
/key-name
s3‐Wilayah
Beberapa Wilayah Amazon S3 yang lebih lama mendukung titik akhir yang berisi tanda hubung (-
) antara s3
dan kode Wilayah (misalnya, s3‐us-west-2
), daripda titik (misalnya, s3.us-west-2
). Jika bucket Anda berada di salah satu Wilayah ini, Anda mungkin melihat format titik akhir berikut di log atau CloudTrail log akses server Anda:
https://
bucket-name
.s3-region-code
.amazonaws.com
Dalam contoh ini, nama bucket adalah amzn-s3-demo-bucket1 dan Region adalah US West (Oregon):
https://amzn-s3-demo-bucket1.s3-us-west-2.amazonaws.com
Titik akhir global legasi
Untuk beberapa Wilayah, Anda dapat menggunakan titik akhir global legasi untuk membuat permintaan yang tidak menentukan titik akhir spesifik Wilayah. Titik akhir global legasi adalah sebagai berikut:
bucket-name
.s3.amazonaws.com
Di log atau CloudTrail log akses server, Anda mungkin melihat permintaan yang menggunakan titik akhir global lama. Dalam contoh ini, nama bucket adalah amzn-s3-demo-bucket1
dan titik akhir global legasi adalah:
https://amzn-s3-demo-bucket1.s3.amazonaws.com
Permintaan dengan cara hosting virtual untuk AS Timur (Virginia Utara)
Permintaan yang dibuat dengan titik akhir global legasi secara default ke Wilayah AS Timur (Virginia Utara). Oleh karena itu, titik akhir global legasi terkadang digunakan sebagai pengganti titik akhir Wilayah untuk AS Timur (Virginia Utara). Jika Anda membuat bucket di AS Timur (Virginia Utara) dan menggunakan titik akhir global, Amazon S3 mengirimkan permintaan Anda ke Wilayah ini secara default.
Permintaan dengan cara hosting virtual untuk Wilayah Lain
Titik akhir global legasi juga digunakan untuk permintaan dengan cara hosting virtual di Wilayah lain yang didukung. Jika Anda membuat bucket di Wilayah yang diluncurkan sebelum 20 Maret 2019, dan menggunakan titik akhir global lama, Amazon S3 memperbarui DNS catatan untuk mengalihkan permintaan ke lokasi yang benar, yang mungkin membutuhkan waktu. Sementara itu, aturan standar berlaku, dan permintaan dengan cara hosting virtual Anda dimasukkan ke Wilayah AS Timur (Virginia Utara). Amazon S3 kemudian mengarahkannya dengan Pengalihan Sementara HTTP 307 ke Wilayah yang benar.
Untuk bucket S3 di Wilayah yang diluncurkan setelah 20 Maret 2019, DNS server tidak merutekan permintaan Anda langsung ke Wilayah AWS tempat bucket Anda berada. Ini mengembalikan kesalahan HTTP 400 Bad Request sebagai gantinya. Untuk informasi selengkapnya, lihat Membuat permintaan di Referensi Amazon S3 API.
Permintaan cara jalur
Untuk Wilayah AS Timur (Virginia Utara), Anda dapat menggunakan titik akhir global legasi untuk permintaan cara jalur.
Untuk semua Wilayah lainnya, sintaks cara jalur mengharuskan Anda menggunakan titik akhir spesifik-Wilayah saat mencoba mengakses bucket. Jika Anda mencoba mengakses bucket dengan titik akhir global lama atau titik akhir lain yang berbeda dari yang untuk Wilayah tempat bucket berada, Anda akan menerima kesalahan Redirect Sementara kode HTTP respons 307 dan pesan yang menunjukkan sumber daya yang benar. URI Misalnya, jika Anda menggunakan https://s3.amazonaws.com/
bucket yang dibuat di Wilayah AS Barat (Oregon), Anda akan menerima kesalahan Pengalihan Sementara HTTP 307.bucket-name