Jika Anda memiliki server otentikasi sendiri, Anda dapat mengonfigurasi otentikasi jarak jauh untuk meneruskan permintaan pengguna ke server otentikasi Anda guna melakukan autentikasi.
Ikhtisar fitur
Otentikasi jarak jauh mirip dengan Penandatanganan URL. Keduanya digunakan untuk melindungi sumber daya dari akses yang tidak sah, sehingga 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 Anda menerapkan aturan autentikasi yang dibuat untuk nama domain ke POP, POP menyelesaikan proses autentikasi.
Otentikasi jarak jauh: Anda dapat menentukan server otentikasi yang dikelola sendiri. Setelah POP menerima permintaan klien, permintaan tersebut diarahkan ke server otentikasi yang ditentukan.
Gambar berikut menunjukkan cara kerja otentikasi jarak jauh.
No. | Deskripsi |
1 | Klien mengirim permintaan ke POP. Permintaan tersebut membawa parameter yang digunakan untuk autentikasi. Contoh:
|
2 | POP menerima permintaan, lalu mengarahkan permintaan tersebut ke server otentikasi. Anda dapat menentukan apakah permintaan diproses oleh POP sebelum diarahkan ke server otentikasi. Contoh:
|
3 | Server otentikasi memeriksa parameter dalam permintaan, lalu mengembalikan hasil autentikasi ke POP. |
4 | POP melakukan aksi yang sesuai berdasarkan hasil autentikasi, lalu mengembalikan data ke klien. Contoh:
|
Catatan penggunaan
Setelah Anda mengonfigurasi otentikasi jarak jauh, permintaan yang gagal autentikasi tetap dapat mencapai POP. Namun, POP menolak permintaan tersebut dan mengembalikan kode status HTTP 403. Permintaan tersebut dicatat dalam log CDN.
Pada otentikasi jarak jauh, permintaan pengguna diteruskan ke server otentikasi yang ditentukan, dan server otentikasi memverifikasi permintaan tersebut. Anda dikenai biaya untuk transfer data yang dihasilkan ketika POP memblokir permintaan berbahaya. Jika klien meminta sumber daya melalui HTTPS, Anda juga dikenai biaya untuk permintaan HTTPS.
Prosedur
Masuk ke CDN console.
Di panel navigasi kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain target dan klik Manage di kolom Actions.
Di panel navigasi domain, klik Access Control.
Klik tab Remote Authentication.
Aktifkan Remote Authentication dan konfigurasikan parameternya sesuai petunjuk.
CatatanSetelah Anda mengaktifkan otentikasi jarak jauh, semua permintaan pengguna akan diarahkan ke server otentikasi. Jika volume permintaan yang dikirim ke POP sangat tinggi, pastikan server otentikasi mampu menangani lonjakan lalu lintas tanpa mengorbankan kinerja.
Parameter
Deskripsi
Authentication Server Address
Alamat server otentikasi. Alamat ini harus dapat diakses publik. CDN memeriksa alamat server yang ditentukan dan format alamatnya.
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 mengandung 127.0.0.1 atau localhost. Jika tidak, alamat server dianggap tidak valid.
Request method
Metode permintaan yang didukung oleh server otentikasi. Nilai yang valid: GET, HEAD, dan POST. Nilai default: GET.
File Types
All: Server otentikasi memeriksa semua jenis file.
Specified: Server otentikasi hanya memeriksa jenis file yang ditentukan.
Anda dapat menentukan satu atau beberapa jenis file. Pisahkan beberapa jenis file dengan tanda pipa vertikal (|). Contoh: mp4|flv.
Jenis file bersifat case-sensitive. Misalnya, .jpg dan JPG dianggap sebagai jenis file yang berbeda.
URL Signing Parameters
Parameters to Retain
Parameter URL yang akan diperiksa oleh server otentikasi. Nilai yang valid: Retain All Parameters, Retain Specified Parameters, dan Delete All URL Parameters.
Jika Anda menentukan beberapa parameter yang ingin dipertahankan, pisahkan parameter tersebut dengan tanda pipa vertikal (|). Contoh: user|token.
Parameter bersifat case-sensitive. Misalnya, key dan KEY dianggap sebagai parameter yang berbeda.
Custom Parameters
Parameter yang ingin Anda tambahkan ke URL permintaan sebelum permintaan diarahkan ke server otentikasi. Anda dapat menentukan pasangan kunci-nilai atau memilih variabel yang disediakan oleh CDN.
Saat menentukan pasangan kunci-nilai, perhatikan aturan berikut:
Pisahkan pasangan kunci-nilai dengan tanda pipa vertikal (|). Contoh: token=$arg_token|vendor=ali_cdn.
Nilai bersifat case-sensitive. Misalnya, key dan KEY dianggap sebagai nilai yang berbeda.
Jika Anda menggunakan variabel preset, nilai variabel tersebut akan ditambahkan ke permintaan yang dikirim ke POP sebelum diarahkan ke server otentikasi.
Misalnya, jika Anda memilih variabel $http_host, host=$http_host ditambahkan ke URL permintaan sebelum diarahkan ke server otentikasi. Dalam contoh ini, host adalah nilai dari header permintaan Host. Untuk informasi lebih lanjut tentang variabel, lihat Variables.
Parameters to Retain in Request Headers
Request Headers to Retain
Header permintaan yang ingin Anda periksa oleh server otentikasi. Nilai yang valid: Retain All Request Headers, Retain Specified Request Headers, dan Delete All Request Headers.
Jika Anda menentukan beberapa header permintaan yang ingin dipertahankan, pisahkan header tersebut dengan tanda pipa vertikal (|). Contoh: user_agent|referer|cookies.
Header permintaan tidak bersifat case-sensitive. Misalnya, http_remote_addr dan HTTP_Remote_Addr dianggap sebagai header permintaan yang sama.
CatatanJika Anda memilih Retain All Request Headers, POP akan menghapus header Host dari permintaan. Jika Anda ingin mempertahankan header Host dalam permintaan, Anda dapat memilih Retain Specified Request Headers atau mengonfigurasi Custom Parameters. Header Host dalam permintaan yang diarahkan 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 mengenali permintaan tersebut dan mengembalikan error, seperti kode status HTTP 404, yang menunjukkan kegagalan autentikasi.
Custom Parameters
Parameter yang ingin Anda tambahkan ke header permintaan sebelum permintaan diarahkan ke server otentikasi. Anda dapat menentukan pasangan kunci-nilai atau memilih variabel yang disediakan oleh CDN.
Saat menentukan pasangan kunci-nilai, perhatikan aturan berikut:
Pisahkan beberapa header permintaan dengan tanda pipa vertikal (|). Contoh: User-Agent=$http_user_agent|vendor=ali_cdn.
Header permintaan tidak bersifat case-sensitive. Misalnya, http_remote_addr dan HTTP_Remote_Addr dianggap sebagai header permintaan yang sama.
Jika Anda menggunakan variabel preset, nilai variabel tersebut akan ditambahkan ke permintaan yang dikirim ke POP sebelum diarahkan ke server otentikasi.
Misalnya, jika Anda memilih variabel $http_host, host=$http_host ditambahkan ke URL permintaan sebelum diarahkan ke server otentikasi. Dalam contoh ini, host adalah nilai dari header permintaan Host. Untuk informasi lebih lanjut tentang variabel, lihat Variables.
HTTP Status Code to Return
Passes Authentication
Deskripsi
Parameter ini menentukan kode status HTTP yang dikembalikan oleh server otentikasi jika permintaan lolos autentikasi. 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 autentikasi.Pemrosesan pengecualian
Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal autentikasi, POP mengizinkan permintaan tersebut. Hal ini memastikan bahwa tidak ada permintaan yang diblokir akibat pengecualian.
Fails Authentication
Deskripsi
Parameter ini menentukan kode status HTTP yang dikembalikan oleh server otentikasi jika permintaan gagal autentikasi. 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 autentikasi.Pemrosesan pengecualian
Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal autentikasi, POP mengizinkan permintaan tersebut. Hal ini memastikan bahwa tidak ada permintaan yang diblokir akibat pengecualian.
Allow Other Status Codes
Yes: Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal autentikasi, POP mengizinkan permintaan tersebut. Hal ini memastikan bahwa tidak ada permintaan yang diblokir akibat pengecualian.
CatatanContoh:
Jika kode status HTTP yang ditentukan untuk permintaan yang lolos autentikasi adalah 200, tetapi server otentikasi mengembalikan kode status HTTP 201 untuk suatu permintaan, POP mengizinkan permintaan tersebut.
Jika kode status HTTP yang ditentukan untuk permintaan yang gagal autentikasi adalah 403, tetapi server otentikasi mengembalikan kode status HTTP 404 untuk suatu permintaan, POP mengizinkan permintaan tersebut.
No: Jika kode status HTTP yang dikembalikan oleh server otentikasi tidak menunjukkan apakah permintaan lolos atau gagal autentikasi, POP menolak permintaan tersebut.
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 autentikasi dari server otentikasi.
Jika Anda mengatur Custom HTTP Status Code ke 403, POP mengembalikan kode status HTTP 403 kepada pengguna untuk permintaan yang gagal autentikasi.
Authentication Timeout Settings
Timeout
Periode timeout dimulai saat POP mengarahkan permintaan ke server otentikasi. Periode timeout berakhir saat POP menerima hasil autentikasi dari server otentikasi. Periode timeout diukur dalam milidetik. Anda dapat mengatur periode timeout hingga 3.000 milidetik.
Action After Timeout
Aksi yang ingin Anda lakukan oleh POP terhadap permintaan ketika autentikasi permintaan timeout. Nilai yang valid: Allow dan Reject.
Allow: Saat autentikasi permintaan timeout, POP mengizinkan permintaan tersebut.
Reject: Saat autentikasi permintaan timeout, POP menolak permintaan tersebut, lalu mengembalikan kode status HTTP yang ditentukan di Custom HTTP Status Code ke klien.
Klik OK.
Setelah otentikasi jarak jauh dikonfigurasi, Anda dapat mengubah pengaturannya atau menonaktifkannya melalui tab Remote Authentication.
Variables
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 permintaan. |
$args | String kueri dari URL permintaan. String kueri tidak termasuk tanda tanya (?). |
$request_method | Metode permintaan. |
$request_uri | Isi dari uri+'?'+args. |