Jika Anda memiliki server otentikasi sendiri, Anda dapat mengonfigurasi otentikasi jarak jauh untuk meneruskan permintaan pengguna ke server otentikasi Anda guna dilakukan proses otentikasi.
Ikhtisar fitur
Otentikasi jarak jauh mirip dengan penandatanganan URL. Keduanya digunakan untuk melindungi sumber daya dari akses tidak sah. Hanya pengguna yang berwenang yang dapat mengambil sumber daya dari POP. Perbedaan antara penandatanganan URL dan otentikasi jarak jauh adalah sebagai berikut:
Penandatanganan URL: Setelah aturan otentikasi diterapkan ke nama domain di POP, POP menyelesaikan proses otentikasi.
Otentikasi jarak jauh: Anda dapat menentukan server otentikasi yang dikelola sendiri. Setelah POP menerima permintaan klien, permintaan tersebut dialihkan ke server otentikasi yang ditentukan.
Gambar berikut menunjukkan cara kerja otentikasi jarak jauh.
No. | Deskripsi |
1 | Klien mengirimkan permintaan ke POP. Permintaan membawa parameter yang digunakan untuk otentikasi. Contoh:
|
2 | POP menerima permintaan, lalu mengarahkan ulang permintaan ke server otentikasi. Anda dapat menentukan apakah permintaan diproses oleh POP sebelum permintaan dialihkan ke server otentikasi. Contoh:
|
3 | Server otentikasi memeriksa parameter dalam permintaan, lalu mengembalikan hasil otentikasi ke POP. |
4 | POP melakukan tindakan yang sesuai berdasarkan hasil otentikasi, lalu mengembalikan data ke klien. Contoh:
|
Catatan penggunaan
Setelah mengonfigurasi otentikasi jarak jauh, permintaan yang gagal otentikasi masih dapat mencapai POP. Namun, POP akan menolak permintaan tersebut dan mengembalikan kode status HTTP 403. Permintaan ini dicatat dalam log CDN.
Dalam otentikasi jarak jauh, permintaan pengguna diteruskan ke server otentikasi yang ditentukan, dan server otentikasi memverifikasi permintaan tersebut. Anda akan dikenakan biaya untuk transfer data yang dihasilkan ketika POP memblokir permintaan jahat. Jika klien meminta sumber daya melalui HTTPS, Anda juga akan dikenakan biaya untuk permintaan HTTPS.
Prosedur
Masuk ke Alibaba Cloud CDN console.
Di panel navigasi kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.
Di pohon navigasi kiri nama domain, klik Access Control.
Klik tab Remote Authentication.
Aktifkan Remote Authentication dan konfigurasikan parameter sesuai petunjuk.
CatatanSetelah mengaktifkan otentikasi jarak jauh, semua permintaan pengguna dialihkan ke server otentikasi. Jika sejumlah besar permintaan dikirim ke POP, pastikan server otentikasi dapat menangani lonjakan lalu lintas tanpa mengorbankan performa.
Parameter
Deskripsi
Authentication Server Address
Alamat server otentikasi. Alamat ini harus dapat diakses secara publik. CDN memeriksa alamat server yang ditentukan dan format alamat.
Format yang didukung
Alamat HTTP dan HTTPS didukung. Contoh:
http://example.com/auth
https://example.com/auth
http://192.0.2.1/auth
https://192.0.2.1/auth
Persyaratan alamat
Alamat server tidak boleh berisi 127.0.0.1 atau localhost. Jika tidak, alamat server dianggap tidak valid.
Request method
Metode permintaan yang didukung oleh server otentikasi. Nilai valid: GET, HEAD, dan POST. Nilai default: GET.
File Types
All: Server otentikasi memeriksa semua jenis file.
Specified: Server autentikasi hanya memeriksa tipe file yang telah ditentukan.
Anda dapat menentukan satu atau lebih jenis file. Pisahkan beberapa jenis file dengan garis vertikal (|). Contoh: mp4|flv.
Jenis file bersifat peka huruf besar-kecil. Misalnya, .jpg dan JPG dianggap sebagai jenis file yang berbeda.
URL Signing Parameters
Parameters to Retain
Parameter URL yang ingin Anda periksa oleh server otentikasi. Nilai valid: Retain All Parameters, Retain Specified Parameters, dan Delete All URL Parameters.
Jika Anda menentukan beberapa parameter yang ingin disimpan, pisahkan parameter dengan garis vertikal (|). Contoh: user|token.
Parameter bersifat peka huruf besar-kecil. Misalnya, key dan KEY dianggap sebagai parameter yang berbeda.
Custom Parameters
Parameter yang ingin Anda tambahkan ke URL permintaan sebelum permintaan dialihkan ke server otentikasi. Anda dapat menentukan pasangan nilai-kunci atau memilih variabel yang disediakan oleh CDN.
Saat menentukan pasangan nilai-kunci, perhatikan aturan berikut:
Pisahkan pasangan nilai-kunci dengan garis vertikal (|). Contoh: token=$arg_token|vendor=ali_cdn.
Nilai bersifat peka huruf besar-kecil. Misalnya, key dan KEY dianggap sebagai nilai yang berbeda.
Jika Anda menggunakan variabel preset, nilai variabel ditambahkan ke permintaan yang dikirim ke POP sebelum permintaan dialihkan ke server otentikasi.
Misalnya, jika Anda memilih variabel $http_host, host=$http_host ditambahkan ke URL permintaan sebelum permintaan dialihkan ke server otentikasi. Dalam contoh ini, host adalah nilai dari header permintaan Host. Untuk informasi lebih lanjut tentang variabel, lihat Variabel.
Parameters to Retain in Request Headers
Request Headers to Retain
Header permintaan yang ingin Anda periksa oleh server otentikasi. Nilai valid: Retain All Request Headers, Retain Specified Request Headers, dan Delete All Request Headers.
Jika Anda menentukan beberapa header permintaan yang ingin disimpan, pisahkan header permintaan dengan garis vertikal (|). Contoh: user_agent|referer|cookies.
Header permintaan tidak peka huruf besar-kecil. Misalnya, http_remote_addr dan HTTP_Remote_Addr dianggap sebagai header permintaan yang sama.
CatatanJika Anda memilih Simpan Semua Header Permintaan, POP menghapus header Host dari permintaan. Jika Anda ingin menyimpan header Host dalam permintaan, Anda dapat memilih Simpan Header Permintaan Tertentu atau mengonfigurasi Parameter Kustom. Header Host dalam permintaan yang dialihkan ke server otentikasi menentukan nama domain yang dipercepat. Oleh karena itu, POP secara otomatis menghapus header Host dari permintaan. Jika tidak, server otentikasi mungkin gagal mengidentifikasi permintaan ini dan mengembalikan kesalahan, seperti kode status HTTP 404, yang menunjukkan kegagalan otentikasi.
Custom Parameters
Parameter yang ingin Anda tambahkan ke header permintaan sebelum permintaan dialihkan ke server otentikasi. Anda dapat menentukan pasangan nilai-kunci atau memilih variabel yang disediakan oleh CDN.
Saat menentukan pasangan nilai-kunci, perhatikan aturan berikut:
Pisahkan beberapa header permintaan dengan garis vertikal (|). Contoh: User-Agent=$http_user_agent|vendor=ali_cdn.
Header permintaan tidak peka huruf besar-kecil. Misalnya, http_remote_addr dan HTTP_Remote_Addr dianggap sebagai header permintaan yang sama.
Jika Anda menggunakan variabel preset, nilai variabel ditambahkan ke permintaan yang dikirim ke POP sebelum permintaan dialihkan ke server otentikasi.
Misalnya, jika Anda memilih variabel $http_host, host=$http_host ditambahkan ke URL permintaan sebelum permintaan dialihkan ke server otentikasi. Dalam contoh ini, host adalah nilai dari header permintaan Host. Untuk informasi lebih lanjut tentang variabel, lihat Variabel.
HTTP Status Code to Return
Passes Authentication
Deskripsi
Parameter ini menentukan kode status HTTP yang dikembalikan oleh server otentikasi jika permintaan lolos otentikasi. Anda dapat menentukan beberapa kode status. Pisahkan beberapa kode status dengan koma (,).
Contoh
Jika Anda mengatur parameter ini ke
200,206, server otentikasi mengembalikan kode status HTTP200atau206ke POP untuk permintaan klien yang lolos otentikasi.Pemrosesan pengecualian
Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal otentikasi, POP mengizinkan permintaan. Ini memastikan bahwa tidak ada permintaan yang diblokir karena pengecualian.
Fails Authentication
Deskripsi
Parameter ini menentukan kode status HTTP yang dikembalikan oleh server otentikasi jika permintaan gagal otentikasi. Anda dapat menentukan beberapa kode status. Pisahkan beberapa kode status dengan koma (,).
Contoh
Jika Anda mengatur kode status HTTP ke
400,403, server otentikasi mengembalikan kode status HTTP400atau403ke POP untuk permintaan klien yang gagal otentikasi.Pemrosesan pengecualian
Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal otentikasi, POP mengizinkan permintaan. Ini memastikan bahwa tidak ada permintaan yang diblokir karena pengecualian.
Allow Other Status Codes
Yes: Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal otentikasi, POP mengizinkan permintaan. Ini memastikan bahwa tidak ada permintaan yang diblokir karena pengecualian.
CatatanContoh:
Jika kode status HTTP yang ditentukan untuk permintaan yang lolos otentikasi adalah 200, tetapi server otentikasi mengembalikan kode status HTTP 201 untuk permintaan, POP mengizinkan permintaan.
Jika kode status HTTP yang ditentukan untuk permintaan yang gagal otentikasi adalah 403, tetapi server otentikasi mengembalikan kode status HTTP 404 untuk permintaan, POP mengizinkan permintaan.
No: Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal otentikasi, POP menolak permintaan.
Response if authentication Fails
Custom HTTP Status Code
Kode status HTTP yang dikembalikan dari POP ke klien setelah POP menerima kode status HTTP yang menunjukkan bahwa permintaan gagal otentikasi dari server otentikasi.
Jika Anda mengatur Kode Status HTTP Kustom ke 403, POP mengembalikan kode status HTTP 403 ke pengguna untuk permintaan yang gagal otentikasi.
Authentication Timeout Settings
Timeout
Periode waktu habis dimulai saat POP mengalihkan permintaan ke server otentikasi. Periode waktu habis berakhir saat POP menerima hasil otentikasi dari server otentikasi. Periode waktu habis diukur dalam milidetik. Anda dapat mengatur periode waktu habis hingga 3.000 milidetik.
Action After Timeout
Tindakan yang ingin Anda lakukan pada permintaan saat otentikasi permintaan waktu habis. Nilai valid: Allow dan Reject.
Allow: Saat otentikasi permintaan waktu habis, POP mengizinkan permintaan.
Reject: Saat otentikasi permintaan waktu habis, POP menolak permintaan, lalu mengembalikan kode status HTTP yang ditentukan dalam Custom HTTP Status Code ke klien.
Klik OK.
Setelah otentikasi jarak jauh dikonfigurasi, Anda dapat memodifikasi pengaturan otentikasi jarak jauh atau menonaktifkan otentikasi jarak jauh di tab Remote Authentication.
Variabel
Saat menambahkan parameter kustom, Anda dapat memilih variabel yang disediakan oleh CDN. Tabel berikut menjelaskan variabel tersebut.
Variabel | Deskripsi |
$http_host | Nilai header Host. |
$http_user_agent | Nilai header User-Agent. |
$http_referer | Nilai header Referer. |
$http_content_type | Nilai header Content-Type. |
$http_x_forward_for | Nilai header X-Forwarded-For. |
$remote_addr | Alamat IP klien. |
$scheme | Protokol permintaan. |
$server_protocol | Versi protokol permintaan. |
$uri | URI asli dari permintaan. |
$args | String kueri dari URL permintaan. String kueri tidak termasuk tanda tanya (?). |
$request_method | Metode permintaan. |
$request_uri | Konten dari uri+'?'+args. |