Otentikasi jarak jauh meneruskan permintaan pengguna ke server otentikasi yang Anda tentukan, lalu server tersebut memvalidasi permintaan tersebut. Fitur ini dikonfigurasi untuk nama domain yang dipercepat ketika server otentikasi Anda—bukan POP—harus menentukan apakah suatu permintaan diizinkan.
Cara kerja
Otentikasi jarak jauh dan Penandatanganan URL memiliki tujuan yang sama: melindungi resource agar hanya pengguna berwenang yang dapat mengaksesnya. Keduanya berbeda dalam cara implementasinya:
URL signing — Anda mendistribusikan aturan penandatanganan nama domain ke POP CDN, dan POP CDN menyelesaikan seluruh proses pertukaran data dan otentikasi.
Remote authentication — Anda mengoperasikan server otentikasi sendiri. Setelah POP CDN menerima permintaan pengguna, POP tersebut meneruskan permintaan itu ke server otentikasi untuk diautentikasi.
Gunakan Penandatanganan URL jika POP CDN dapat menerapkan aturan otentikasi secara mandiri. Gunakan otentikasi jarak jauh jika server otentikasi Anda harus membuat keputusan untuk setiap permintaan.
Proses pertukaran data pada otentikasi jarak jauh adalah sebagai berikut:
No. | Deskripsi interaksi |
① | Permintaan akses resource yang diajukan oleh pengguna tiba di POP CDN, dan permintaan tersebut membawa parameter otentikasi. Misalnya, URL permintaan aslinya adalah |
② | POP CDN menerima permintaan pengguna dan meneruskannya ke server otentikasi, baik secara langsung maupun setelah diproses berdasarkan aturan yang ditentukan. Misalnya, alamat server otentikasi adalah |
③ | Server otentikasi mengembalikan hasil otentikasi ke POP CDN berdasarkan parameter otentikasi yang dibawa dalam permintaan pengguna. |
④ | POP CDN melakukan aksi yang sesuai berdasarkan hasil otentikasi yang dikembalikan oleh server otentikasi dan mengembalikan data yang sesuai kepada pengguna. Contoh berikut menjelaskan hasil otentikasi.
|
Catatan penggunaan
Pencatatan log — Setelah Anda mengonfigurasi otentikasi jarak jauh, permintaan yang gagal dalam otentikasi tetap dapat mencapai POP CDN, tetapi POP CDN menolak permintaan tersebut dan mengembalikan kode status HTTP yang Anda tentukan di Custom HTTP Status Code, seperti 403. Catatan permintaan klien tetap ditulis ke log CDN.
Penagihan — Otentikasi jarak jauh meneruskan permintaan pengguna ke server otentikasi yang Anda tentukan, sehingga Anda dikenai biaya trafik meskipun POP CDN memblokir Permintaan Serangan. Pemblokiran Permintaan Serangan mengonsumsi sumber daya pemrosesan POP CDN. Jika klien menggunakan Permintaan HTTPS, Anda juga dikenai biaya untuk Permintaan HTTPS tersebut.
Prasyarat
Server otentikasi yang Anda deploy dan kelola tersedia di alamat yang dapat diakses dari luar.
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 sakelar Remote Authentication dan konfigurasikan pengaturan otentikasi jarak jauh sesuai petunjuk di halaman.
CatatanSetelah Anda mengaktifkan otentikasi jarak jauh, setiap permintaan pengguna harus diteruskan ke server otentikasi untuk diproses. Saat volume permintaan besar, pertimbangkan beban dan performa server otentikasi.
Parameter
Deskripsi
Authentication Server Address
Alamat tempat server otentikasi dapat diakses dari luar. Sistem memvalidasi alamat server otentikasi yang Anda masukkan, termasuk validasi format dan nilai.
Persyaratan format:
Alamat otentikasi mendukung protokol HTTP dan HTTPS, dalam salah satu format berikut:
http://example.com/auth,https://example.com/auth,http://192.0.2.1/auth, atauhttps://192.0.2.1/auth.
Persyaratan nilai:
Nilai tidak boleh mengandung 127.0.0.1 atau localhost. POP menginisiasi permintaan otentikasi, sehingga alamat tersebut harus dapat dijangkau dari POP.
Request Method
Metode permintaan yang didukung oleh server otentikasi. Nilai yang valid: GET, HEAD, dan POST. Nilai default: GET.
File Types
All: Semua jenis file diautentikasi.
Specified: Hanya jenis file tertentu yang diautentikasi.
Saat menentukan jenis file, pisahkan beberapa jenis file dengan tanda pipa vertikal, contohnya
mp4|flv.Jenis file bersifat case-sensitive:
.jpgdanJPGadalah dua jenis file yang berbeda.
Parameter URL yang digunakan untuk otentikasi
Parameters to Retain
Mengontrol parameter mana dalam URL permintaan pengguna yang diautentikasi. Anda dapat memilih Retain All Parameters, Retain Specified Parameters, atau Delete All URL Parameters.
Saat menyimpan parameter tertentu, pisahkan beberapa parameter dengan tanda pipa vertikal, contohnya
user|token.Parameter bersifat case-sensitive:
keydanKEYadalah dua parameter yang berbeda.
Custom Parameters
Menambahkan parameter kustom ke URL permintaan yang diteruskan oleh POP CDN ke server otentikasi. Anda dapat menentukan parameter beserta nilainya, atau menggunakan variabel yang telah ditentukan sebelumnya di Konsol CDN.
Saat menentukan parameter dan nilainya, persyaratan berikut berlaku:
pisahkan beberapa parameter dengan tanda pipa vertikal, contohnya
token=$arg_token|vendor=ali_cdn;nilai parameter bersifat case-sensitive, artinya
keydanKEYadalah dua nilai parameter yang berbeda.
Saat menggunakan variabel yang telah ditentukan sebelumnya, Anda dapat mengekstrak nilai variabel tersebut dan menambahkannya ke permintaan yang diteruskan oleh CDN ke server otentikasi.
Sebagai contoh, jika Anda memilih variabel
$http_host, makahost=$http_hostakan ditambahkan ke URL permintaan pengguna, di mana host menunjukkan nilai host dalam header permintaan pengguna. Untuk deskripsi nama variabel dan maknanya, lihat Variables.
Header permintaan yang digunakan untuk otentikasi
Request Headers to Retain
Mengontrol header permintaan mana dalam permintaan pengguna yang diautentikasi. Anda dapat memilih Retain All Parameters atau Retain Specified Parameters.
Saat menyimpan header permintaan tertentu, pisahkan beberapa header permintaan dengan tanda pipa vertikal, contohnya
user_agent|referer|cookies.Header permintaan tidak bersifat case-sensitive, artinya
http_remote_addrdanHTTP_Remote_Addradalah sama.
CatatanSaat Anda memilih Retain All Parameters, POP CDN secara default menghapus header HOST. Header HOST yang dibawa dalam permintaan otentikasi yang diteruskan oleh POP CDN ke server otentikasi adalah nama domain yang dipercepat, yang dapat menyebabkan server otentikasi gagal mengenali permintaan otentikasi dan mengembalikan kode status 404 serta menyebabkan kegagalan otentikasi. Untuk menyimpan header HOST, gunakan Retain Specified Parameters atau Custom Parameters.
Custom Parameters
Menambahkan parameter kustom ke header permintaan yang diteruskan oleh POP CDN ke server otentikasi. Anda dapat menentukan parameter beserta nilainya, atau menggunakan variabel yang telah ditentukan sebelumnya di Konsol CDN.
Saat menentukan parameter dan nilainya, persyaratan berikut berlaku:
pisahkan beberapa header permintaan dengan tanda pipa vertikal, contohnya
User-Agent=$http_user_agent|vendor=ali_cdn.Header permintaan tidak bersifat case-sensitive, artinya
http_remote_addrdanHTTP_Remote_Addradalah sama.
Saat menggunakan variabel yang telah ditentukan sebelumnya, Anda dapat mengekstrak nilai variabel tersebut dan menambahkannya ke permintaan yang diteruskan oleh CDN ke server otentikasi.
Sebagai contoh, jika Anda memilih variabel
$http_host, makahost=$http_hostakan ditambahkan ke URL permintaan pengguna, di mana host menunjukkan nilai host dalam header permintaan pengguna. Untuk deskripsi nama variabel dan maknanya, lihat Variables.
HTTP Status Code to Return
Passes Authentication
Kode status HTTP yang dikembalikan server otentikasi ke CDN saat otentikasi berhasil. Anda dapat mengonfigurasi beberapa kode status dan memisahkannya dengan koma (,). Contoh: Jika Anda mengatur kode status keberhasilan otentikasi menjadi
200,206, otentikasi berhasil ketika server otentikasi mengembalikan200atau206. Untuk kode status yang bukan kode keberhasilan maupun kegagalan, lihat Whether to allow other status codes dalam tabel ini.Fails Authentication
Kode status HTTP yang dikembalikan server otentikasi ke CDN saat otentikasi gagal. Anda dapat mengonfigurasi beberapa kode status dan memisahkannya dengan koma (,). Contoh: Jika Anda mengatur kode status kegagalan otentikasi menjadi
400,403, otentikasi gagal ketika server otentikasi mengembalikan400atau403. Untuk kode status yang bukan kode keberhasilan maupun kegagalan, lihat Whether to allow other status codes dalam tabel ini.Whether to allow other status codes
Menentukan bagaimana POP CDN menangani permintaan pengguna ketika kode status yang dikembalikan oleh server otentikasi bukan merupakan kode keberhasilan maupun kegagalan. Yes: Untuk mencegah semua permintaan pengguna diblokir akibat pengecualian, POP CDN mengizinkan permintaan pengguna. Sebagai contoh, jika kode status keberhasilan otentikasi diatur ke 200 dan server otentikasi mengembalikan 201, permintaan pengguna diizinkan. Jika kode status kegagalan otentikasi diatur ke 403 dan server otentikasi mengembalikan 404, permintaan pengguna diizinkan. No: POP CDN menolak permintaan pengguna.
Aksi yang dilakukan oleh CDN setelah otentikasi gagal
Custom HTTP Status Code
Kode status yang dikembalikan oleh POP CDN kepada pengguna ketika permintaan pengguna gagal dalam otentikasi.
Sebagai contoh, jika Anda mengatur kode respons kustom menjadi 403, POP CDN mengembalikan 403 kepada pengguna ketika permintaan pengguna gagal dalam otentikasi.
Pengaturan timeout otentikasi
Timeout
Periode yang diukur sejak POP CDN menginisiasi permintaan otentikasi hingga POP CDN menerima hasil yang dikembalikan oleh server otentikasi. Satuan: milidetik. Nilai maksimum: 3000.
Action After Timeout
Cara CDN menangani permintaan pengguna setelah pertukaran data antara CDN dan server otentikasi mengalami timeout. Anda dapat memilih Pass atau Reject.
Pass: Jika otentikasi timeout, CDN mengizinkan permintaan pengguna.
Reject: Jika otentikasi timeout, CDN menolak permintaan pengguna dan mengembalikan Custom HTTP Status Code yang Anda konfigurasikan kepada pengguna.
Klik OK untuk menyelesaikan konfigurasi.
Setelah Anda berhasil mengonfigurasi fitur otentikasi jarak jauh, Anda dapat mengubah konfigurasi saat ini atau menonaktifkan otentikasi jarak jauh di tab Remote Authentication. Nonaktifkan otentikasi jarak jauh untuk menghentikan penerusan permintaan pengguna ke server otentikasi.
Variables
Saat menambahkan parameter kustom, Anda dapat langsung menggunakan variabel yang telah ditentukan sebelumnya di Konsol CDN. Tabel berikut menjelaskan nama variabel dan maknanya.
Nama variabel | Makna variabel |
$http_host | Nilai Host dalam header permintaan. |
$http_user_agent | Nilai User-Agent dalam header permintaan. |
$http_referer | Nilai Referer dalam header permintaan. |
$http_content_type | Nilai Content-Type dalam header permintaan. |
$http_x_forward_for | Nilai X-Forwarded-For dalam header permintaan. |
$remote_addr | Informasi IP klien dari permintaan. |
$scheme | Jenis protokol permintaan. |
$server_protocol | Versi protokol permintaan. |
$uri | URI asli dari permintaan. |
$args | String kueri dari permintaan, tidak termasuk tanda tanya (?). |
$request_method | Metode permintaan. |
$request_uri | Isi dari uri+'?'+args. |