全部产品
Search
文档中心

CDN:Konfigurasi otentikasi jarak jauh

更新时间:Jul 06, 2025

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:

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

  • Header dalam permintaan asli: test=123

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:

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

  • Konfigurasi fitur otentikasi jarak jauh di konsol Alibaba Cloud CDN: simpan semua parameter permintaan dan simpan 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 otentikasi ke POP.

4

POP melakukan tindakan yang sesuai berdasarkan hasil otentikasi, lalu mengembalikan data ke klien.

Contoh:

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

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

  • Contoh 3: Permintaan gagal otentikasi. POP membatasi permintaan yang dikirim dari klien.

  • Contoh 4: Proses otentikasi waktu habis. POP melakukan tindakan yang ditentukan, seperti mengizinkan atau menolak.

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

  1. Masuk ke Alibaba Cloud CDN console.

  2. Di panel navigasi kiri, klik Domain Names.

  3. Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.

  4. Di pohon navigasi kiri nama domain, klik Access Control.

  5. Klik tab Remote Authentication.

  6. Aktifkan Remote Authentication dan konfigurasikan parameter sesuai petunjuk.

    Catatan

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

    Catatan

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

      Catatan

      Contoh:

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

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

FAQ

Operasi API terkait

BatchSetCdnDomainConfig