Otentikasi jarak jauh adalah fitur kontrol akses yang melindungi sumber daya Anda. Saat permintaan pengguna tiba di titik kehadiran (PoP) Alibaba Cloud CDN, PoP tersebut meneruskan permintaan ke server otentikasi Anda untuk divalidasi, lalu memproses permintaan berdasarkan hasilnya. Hanya pengguna yang sah yang dapat mengakses konten Anda.
Cara kerja
ApsaraVideo VOD mendukung Penandatanganan URL dan otentikasi jarak jauh untuk mencegah konten Anda diunduh atau di-hotlink secara ilegal. Kedua fitur ini berbeda dalam implementasinya:
-
Penandatanganan URL: Anda menetapkan aturan otentikasi untuk nama domain dan mendistribusikannya ke POP CDN. POP CDN kemudian menangani seluruh proses otentikasi. Untuk informasi lebih lanjut, lihat Penandatanganan URL.
-
Otentikasi jarak jauh: Anda harus menyediakan dan mengelola server otentikasi sendiri. Saat POP CDN menerima permintaan yang memerlukan otentikasi, permintaan tersebut diteruskan ke server Anda untuk divalidasi.
Diagram berikut menunjukkan proses otentikasi jarak jauh:
-
Pengguna mengirim permintaan untuk sebuah resource ke POP CDN. Permintaan tersebut mencakup parameter otentikasi.
-
POP CDN menerima permintaan pengguna dan meneruskannya ke server otentikasi Anda.
-
Server otentikasi memvalidasi parameter dalam permintaan dan mengembalikan hasilnya ke POP CDN.
-
POP CDN memproses permintaan pengguna berdasarkan hasil otentikasi. Jika otentikasi berhasil, PoP mengizinkan permintaan tersebut. Jika otentikasi gagal, PoP menolak atau membatasi permintaan tersebut. Berikut beberapa contohnya:
-
Contoh 1: Otentikasi berhasil. POP CDN menyajikan konten yang di-cache kepada pengguna.
-
Contoh 2: Otentikasi gagal. POP CDN mengembalikan kode status 403 kepada pengguna.
-
Contoh 3: Otentikasi gagal. POP CDN melakukan throttle terhadap akses pengguna.
-
Contoh 4: Otentikasi timeout. POP CDN mengizinkan permintaan pengguna, yang merupakan aksi default.
-
Catatan penggunaan
Setelah Anda mengaktifkan otentikasi jarak jauh, setiap permintaan pengguna harus diautentikasi. Jika Anda mengantisipasi volume traffic yang tinggi, pastikan server otentikasi Anda mampu menangani beban tersebut.
Prosedur
-
Masuk ke Konsol ApsaraVideo VOD.
-
Pada panel navigasi kiri, pilih Configuration Management.
-
Pilih CDN Configuration > Domain Names.
-
Temukan nama domain yang ingin Anda konfigurasi dan klik Configure pada kolom Actions.
-
Klik Resource Access Control.
-
Klik tab Remote Authentication.
-
Nyalakan sakelar Remote Authentication dan konfigurasikan pengaturannya.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Auth server address
Alamat publik server otentikasi Anda. Alamat tersebut harus memenuhi persyaratan format dan nilai berikut.
-
Persyaratan format
Alamat harus dalam salah satu format berikut:
-
http://example.com/auth
-
https://example.com/auth
-
http://192.0.2.1/auth
-
https://192.0.2.1/auth
-
-
Persyaratan nilai
Nilainya tidak boleh
127.0.0.1ataulocalhost. Alamat lokal ini tidak valid.
Request method
Metode permintaan yang didukung oleh server otentikasi Anda. Nilai yang valid: GET, HEAD, dan POST.
-
POST
-
Parameter dikirimkan dalam badan permintaan, dan URL bilah alamat tidak berubah.
-
Tidak ada batasan praktis pada jumlah data yang dikirimkan.
-
Permintaan tidak di-cache atau disimpan dalam riwayat browser.
-
Keamanan relatif tinggi.
-
-
GET
-
Parameter dikirimkan dalam baris permintaan, dan nilainya terlihat di bilah alamat.
-
Batasan browser membatasi jumlah data yang dapat dikirimkan hingga 1.024 byte.
-
Permintaan dapat di-cache dan disimpan dalam riwayat browser.
-
Keamanan relatif rendah.
-
-
HEAD
Metode HEAD identik dengan metode GET, kecuali bahwa server tidak mengembalikan badan pesan dalam respons.
File types
-
All file types: Mengotentikasi permintaan untuk semua jenis file.
-
Specified file types: Mengotentikasi permintaan hanya untuk jenis file yang ditentukan.
-
Untuk menentukan beberapa jenis file, pisahkan dengan tanda pipa vertikal (|), misalnya
mp4|flv. -
Jenis file bersifat case-sensitive. Misalnya,
jpgdanJPGdianggap sebagai jenis file yang berbeda.
-
Retain parameters
Mengontrol parameter mana dari URL permintaan pengguna yang digunakan untuk otentikasi. Anda dapat memilih Retain all parameters, Retain specified parameters, atau Delete all URL parameters.
-
Jika Anda memilih untuk menyimpan parameter tertentu, pisahkan beberapa parameter dengan tanda pipa vertikal (|), misalnya
user|token. -
Parameter bersifat case-sensitive. Misalnya,
keydanKEYdianggap sebagai parameter yang berbeda.
Add custom parameters
Menambahkan parameter kustom ke URL permintaan yang diteruskan POP CDN ke server otentikasi.
Anda dapat memilih Custom untuk mengatur parameter dan nilai kustom, atau memilih Select Parameter untuk menggunakan variabel preset dari Konsol.
-
Saat Anda mengatur parameter dan nilai kustom:
-
Pisahkan beberapa parameter dengan tanda pipa vertikal (|), misalnya
token=$arg_token|vendor=ali_cdn. -
Parameter bersifat case-sensitive. Misalnya,
keydanKEYdianggap sebagai parameter yang berbeda.
-
-
Saat Anda menggunakan variabel preset, Anda dapat mengekstrak nilainya dan menambahkannya ke permintaan yang diteruskan oleh POP CDN.
Misalnya, jika Anda memilih variabel
$http_host, makahost=$http_hostditambahkan ke URL permintaan, di mana$http_hostadalah nilai header Host dalam permintaan pengguna. Untuk daftar variabel dan deskripsinya, lihat Variable names.
Retain request headers
Mengontrol header mana dari permintaan pengguna yang digunakan untuk otentikasi. Anda dapat memilih Retain all headers, Retain specified headers, atau Delete all request headers.
-
Jika Anda memilih untuk menyimpan header tertentu, pisahkan beberapa header dengan tanda pipa vertikal (|), misalnya
user_agent|referer|cookies. -
Header permintaan tidak case-sensitive. Misalnya,
http_remote_addrdanHTTP_Remote_Addrdianggap sebagai header yang sama.
CatatanSecara default, POP CDN menghapus header
Host. Hal ini karena headerHostpada permintaan yang diteruskan berisi nama domain yang dipercepat, yang mungkin tidak dikenali oleh server otentikasi Anda, sehingga berpotensi menyebabkan error 404 atau kegagalan otentikasi. Untuk menyimpan headerHost, gunakan Retain specified headers atau Add Custom Parameters.Add custom headers
Menambahkan header kustom ke permintaan yang diteruskan POP CDN ke server otentikasi.
Anda dapat memilih Custom untuk mengatur header dan nilai kustom, atau memilih Select Parameter untuk menggunakan variabel preset dari Konsol.
-
Saat Anda mengatur parameter dan nilai kustom:
-
Pisahkan beberapa header dengan tanda pipa vertikal (|), misalnya
User-Agent=$http_user_agent|vendor=ali_cdn. -
Header permintaan tidak case-sensitive. Misalnya,
http_remote_addrdanHTTP_Remote_Addrdianggap sebagai header yang sama.
-
-
Saat Anda menggunakan variabel preset, Anda dapat mengekstrak nilainya dan menambahkannya ke permintaan yang diteruskan oleh POP CDN.
Misalnya, jika Anda memilih variabel
$http_host, makahost=$http_hostditambahkan ke header permintaan, di mana$http_hostadalah nilai header Host dalam permintaan pengguna. Untuk daftar variabel dan deskripsinya, lihat Variable names.
Success status code
Kode status HTTP dari server otentikasi Anda yang menunjukkan keberhasilan. Kami menyarankan Anda menggunakan kode status 2xx.
Misalnya, jika Anda mengatur parameter ini ke 200, respons 200 dari server otentikasi Anda berarti berhasil. Jika server mengembalikan kode status yang tidak cocok dengan kode keberhasilan maupun kegagalan, permintaan tersebut dianggap timeout.
Failure status code
Kode status HTTP dari server otentikasi Anda yang menunjukkan kegagalan. Kami menyarankan Anda menggunakan kode status 4xx.
Misalnya, jika Anda mengatur parameter ini ke 403, respons 403 dari server otentikasi Anda berarti gagal. Jika server mengembalikan kode status yang tidak cocok dengan kode keberhasilan maupun kegagalan, permintaan tersebut dianggap timeout.
Custom response status code
Kode status yang dikembalikan POP CDN kepada pengguna jika permintaan gagal dalam otentikasi.
Misalnya, jika Anda mengatur nilai ini ke 403, POP CDN akan mengembalikan kode status 403 kepada pengguna ketika permintaan mereka gagal dalam otentikasi.
Timeout
Waktu maksimum yang akan ditunggu POP CDN untuk menerima respons dari server otentikasi.
Unit: milidetik. Nilai maksimum adalah 3000.
Action on timeout
Aksi yang diambil POP CDN jika permintaan otentikasi ke server Anda mengalami timeout. Nilai yang valid:
-
allow: Jika terjadi timeout, POP CDN mengizinkan permintaan pengguna.
-
reject: Jika terjadi timeout, POP CDN mengembalikan Custom Response Status Code yang ditentukan kepada pengguna.
-
-
Klik OK untuk menyimpan konfigurasi.
Setelah mengonfigurasi otentikasi jarak jauh, Anda dapat kembali ke tab Remote Authentication untuk mengubah pengaturan atau menonaktifkan fitur tersebut.
Variable names
Saat Anda menambahkan parameter kustom, Anda dapat menggunakan variabel preset berikut.
|
Parameter |
Deskripsi |
|
$http_host |
Nilai header Host dalam permintaan. |
|
$http_user_agent |
Nilai header User-Agent dalam permintaan. |
|
$http_referer |
Nilai header Referer dalam permintaan. |
|
$http_content_type |
Nilai header Content-Type dalam permintaan. |
|
$http_x_forward_for |
Nilai header X-Forwarded-For dalam permintaan. |
|
$remote_addr |
Alamat IP client dari permintaan. |
|
$scheme |
Protokol permintaan, seperti |
|
$server_protocol |
Versi protokol permintaan, seperti |
|
$uri |
URI asli dari permintaan. |
|
$args |
String kueri dari permintaan. Ini tidak mencakup tanda tanya ( |
|
$request_method |
Metode permintaan. |
|
$request_uri |
URI permintaan lengkap termasuk string kueri ( |