全部产品
Search
文档中心

CDN:Konfigurasikan otentikasi jarak jauh

更新时间:Dec 26, 2025

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:

  • URL permintaan asli: https://example.com/123/test.txt?key=xxxxxxxxxx

  • Header dalam permintaan asli: test=123

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:

  • URL server otentikasi: https://192.0.2.1/auth

  • Konfigurasi fitur otentikasi jarak jauh di Konsol Alibaba Cloud CDN: mempertahankan semua parameter permintaan dan mempertahankan semua header permintaan.

  • URL permintaan yang diteruskan oleh CDN ke server otentikasi: https://192.0.2.1/auth?key=xxxxxxxxxx

  • Header dalam permintaan yang diteruskan oleh CDN ke server otentikasi: test=123

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:

  • Contoh 1: Permintaan lolos autentikasi. POP mengembalikan sumber daya yang diminta ke klien.

  • Contoh 2: Permintaan gagal autentikasi. POP mengembalikan kode status HTTP 403 ke klien.

  • Contoh 3: Permintaan gagal autentikasi. POP melakukan throttle terhadap permintaan yang dikirim dari klien.

  • Contoh 4: Proses autentikasi timeout. POP melakukan aksi yang ditentukan, seperti allow atau reject.

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

  1. Masuk ke CDN console.

  2. Di panel navigasi kiri, klik Domain Names.

  3. Pada halaman Domain Names, temukan nama domain target dan klik Manage di kolom Actions.

  4. Di panel navigasi domain, klik Access Control.

  5. Klik tab Remote Authentication.

  6. Aktifkan Remote Authentication dan konfigurasikan parameternya sesuai petunjuk.

    Catatan

    Setelah 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.

    Catatan

    Jika 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 HTTP 200 atau 206 ke 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 HTTP 400 atau 403 ke 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.

      Catatan

      Contoh:

      • 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.

  7. 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.

FAQ

Operasi API terkait

BatchSetCdnDomainConfig