All Products
Search
Document Center

ApsaraVideo VOD:Terapkan proxy permintaan

Last Updated:Jun 22, 2026

Dalam lingkungan jaringan yang kompleks, penyedia layanan jaringan mungkin melakukan hijacking terhadap nama domain ApsaraVideo VOD default (*.aliyuncs.com), yang dapat menyebabkan kegagalan akses. Untuk meningkatkan tingkat keberhasilan dan stabilitas permintaan, kami menyarankan agar Anda menerapkan layanan proxy khusus.

Sebelum memulai

Topik ini menggunakan Alibaba Cloud Function Compute (FC) 3.0 sebagai contoh. Sebelum memulai, tinjau penagihan Function Compute.

Prosedur

Ikuti langkah-langkah berikut:

Catatan

Jika Konsol Function Compute (FC) Anda menampilkan antarmuka versi 2.0, klik Go to Function Compute 3.0 di pojok kanan atas untuk beralih ke konsol baru.

Langkah 1: Buat fungsi

  1. Buka halaman Functions di Konsol Function Compute (FC), lalu klik Create Function.

  2. Pilih Task Function dan klik Create Task Function. Konfigurasikan parameter berikut:

    • Untuk lingkungan runtime, pilih Built-in Runtimes > Python.

    • Pertahankan pengaturan default untuk parameter lain atau sesuaikan sesuai kebutuhan. Untuk tipe fungsi, pilih Task Function. Dalam konfigurasi elastis, atur tipe instans menjadi elastic instance dengan 0,35 vCPU, memori 512 MB, dan disk 512 MB. Atur jumlah minimum instans menjadi 0 (disarankan) dan konkurensi per instans menjadi 1. Untuk metode unggah kode, pilih Use sample code. Lalu, klik Create.

  3. Tinjau konfigurasi Anda dan klik Create.

Langkah 2: Terapkan kode

  1. Di halaman Function Details, klik tab Code.

  2. Klik Open WebIDE untuk membuka editor kode.

  3. Salin kode berikut ke dalam editor.

    Contoh kode

    import json
    import logging
    import http.client
    from urllib.parse import urlencode
    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger()
    def get_target_domain(region_id):
        # Jika region_id tidak ditentukan, gunakan nilai default.
        if not region_id:
            return "vod.cn-shanghai.aliyuncs.com"
        return f"vod.{region_id}.aliyuncs.com"
    def handler(event, context):
        try:
            # Jika event berupa bytes, dekode terlebih dahulu.
            if isinstance(event, bytes):
                event = json.loads(event.decode('utf-8'))
            # Dapatkan queryParameters.
            query_params = event['queryParameters']
            logger.info(f"queryParameters: {query_params}")
            # Dapatkan dan hapus parameter RegionId.
            region_id = query_params.pop('RegionId', None)
            target_domain = get_target_domain(region_id)
            # Bangun string kueri.
            query_string = urlencode(query_params)
            path = f"/?{query_string}"
            logger.info(f"Meneruskan ke: {target_domain}{path}")
            # Teruskan permintaan.
            conn = http.client.HTTPSConnection(target_domain)
            conn.request('GET', path)
            # Dapatkan respons.
            response = conn.getresponse()
            body = response.read()
            # Proses header respons untuk memastikan hanya ada satu header Access-Control-Allow-Origin.
            headers = dict(response.getheaders())
            # Atur satu header CORS.
            headers['Access-Control-Allow-Origin'] = '*'
            return {
                'statusCode': response.status,
                'headers': headers,
                'body': body.decode('utf-8')
            }
        except Exception as e:
            logger.error(f"Error: {str(e)}")
            return {
                'statusCode': 500,
                'body': str(e)
            }
        finally:
            if 'conn' in locals():
                conn.close()
  4. Kembali ke halaman Function Details dan klik Deploy Code.

Langkah 3: Buat pemicu

  1. Di halaman Function Details, klik tab Triggers.

  2. Klik Create Trigger dan pilih HTTP Trigger. Kami menyarankan mengatur Authentication Method menjadi No Authentication serta mempertahankan pengaturan default untuk parameter lain atau menyesuaikannya sesuai kebutuhan. Masukkan nama pemicu, atur versi atau alias menjadi LATEST, dan pilih metode permintaan GET, POST, PUT, dan DELETE.

  3. Tinjau konfigurasi Anda dan klik OK.

Langkah 4: Verifikasi penerapan

  1. Di halaman manajemen pemicu di Konsol Function Compute, temukan HTTP trigger yang telah Anda buat dan salin alamat akses publik-nya. Akses alamat tersebut di browser Anda untuk menguji konektivitas. Anda juga dapat mengatur properti customVodServer di pemutar Anda ke alamat ini untuk mengakses layanan proxy.

  2. Koneksi yang berhasil menandakan bahwa proxy permintaan telah diterapkan.

Dokumen terkait

  • Untuk informasi lebih lanjut tentang integrasi SDK pemutar web, lihat Quick Integration.

  • Untuk informasi lebih lanjut tentang cara menggunakan properti customVodServer, lihat Aliplayer API Reference.