全部产品
Search
文档中心

Server Load Balancer:CreateListener

更新时间:Dec 19, 2025

Membuat listener.

Deskripsi operasi

Catatan penggunaan

Operasi CreateListener bersifat asinkron. Setelah operasi ini dipanggil, sistem akan mengembalikan ID permintaan, namun proses pembuatan listener tetap berjalan di latar belakang. Untuk memeriksa status listener HTTP, HTTPS, atau QUIC, Anda dapat memanggil operasi GetListenerAttribute.

  • Jika listener HTTP, HTTPS, atau QUIC berada dalam status Provisioning, berarti listener sedang dalam proses pembuatan.

  • Jika listener HTTP, HTTPS, atau QUIC berada dalam status Running, berarti listener telah berhasil dibuat.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

alb:CreateListener

create

*LoadBalancer

acs:alb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}

*SecurityPolicy

acs:alb:{#regionId}:{#accountId}:securitypolicy/{#securitypolicyId}

*ServerGroup

acs:alb:{#regionId}:{#accountId}:servergroup/{#servergroupId}

  • alb:ListenerProtocol
None

Parameter permintaan

Parameter

Type

Required

Description

Example

LoadBalancerId

string

Yes

ID instans ALB.

alb-n5qw04uq8vavfe****

ClientToken

string

No

Token client yang digunakan untuk memastikan idempotensi permintaan.

Anda dapat menghasilkan nilai ini dari sisi client, tetapi harus memastikan nilainya unik di antara semua permintaan. Token hanya boleh berisi karakter ASCII.

Catatan

Jika Anda tidak mengatur parameter ini, sistem secara otomatis menggunakan nilai RequestId sebagai nilai ClientToken. RequestId mungkin berbeda untuk setiap permintaan API.

123e4567-e89b-12d3-a456-426655440000

DryRun

boolean

No

Menentukan apakah hanya melakukan pemeriksaan awal (precheck). Nilai yang valid:

  • true: melakukan precheck terhadap permintaan tanpa membuat listener. Sistem akan memeriksa parameter yang diperlukan, sintaksis permintaan, dan batasan. Jika permintaan gagal dalam precheck, kode kesalahan akan dikembalikan sesuai penyebab kegagalannya. Jika permintaan lolos precheck, kode kesalahan DryRunOperation akan dikembalikan.

  • false (default): mengirim permintaan API. Jika permintaan lolos precheck, kode status HTTP 2xx akan dikembalikan dan sistem akan melanjutkan pembuatan listener.

false

ListenerProtocol

string

Yes

Protokol listener.

Nilai yang valid: HTTP, HTTPS, dan QUIC.

HTTP

ListenerPort

integer

Yes

Port frontend yang digunakan oleh instans ALB.

Nilai yang valid: 1 hingga 65535.

80

ListenerDescription

string

No

Nama listener.

Deskripsi harus terdiri dari 2 hingga 256 karakter, dan dapat berisi huruf, angka, tanda hubung (-), garis miring (/), titik (.), dan garis bawah (_). Ekspresi reguler didukung.

HTTP_80

RequestTimeout

integer

No

Periode timeout permintaan. Satuan: detik.

Nilai yang valid: 1 hingga 180.

Nilai default: 60.

Jika tidak ada respons yang diterima dari server backend selama periode timeout permintaan, ALB akan mengirimkan kode kesalahan HTTP 504 ke client.

60

IdleTimeout

integer

No

Periode timeout koneksi idle. Satuan: detik.

Nilai yang valid: 1 hingga 60.

Nilai default: 15.

Jika tidak ada permintaan yang diterima dalam periode timeout yang ditentukan, ALB akan menutup koneksi saat ini. Saat permintaan baru diterima, ALB akan membuat koneksi baru.

3

GzipEnabled

boolean

No

Menentukan apakah kompresi Gzip diaktifkan untuk mengompres jenis file tertentu. Nilai yang valid:

  • true (default): mengaktifkan kompresi Gzip.

  • false: menonaktifkan kompresi Gzip.

true

Http2Enabled

boolean

No

Menentukan apakah HTTP/2 diaktifkan. Nilai yang valid:

  • true (default): mengaktifkan HTTP/2.

  • false: menonaktifkan HTTP/2.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

true

SecurityPolicyId

string

No

ID kebijakan keamanan. Kebijakan keamanan sistem dan kebijakan keamanan kustom didukung.

Nilai default: tls_cipher_policy_1_0 (kebijakan keamanan sistem).

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

tls_cipher_policy_1_0

CaEnabled

boolean

No

Menentukan apakah otentikasi timbal balik diaktifkan. Nilai yang valid:

  • true: mengaktifkan otentikasi timbal balik.

  • false (default): menonaktifkan otentikasi timbal balik.

false

XForwardedForConfig

object

No

Konfigurasi header XForward.

XForwardedForClientCertClientVerifyAlias

string

No

Nama header kustom. Parameter ini hanya berlaku jika XForwardedForClientCertClientVerifyEnabled diatur ke true.

Nama harus terdiri dari 1 hingga 40 karakter, dan dapat berisi huruf kecil, tanda hubung (-), garis bawah (_), dan angka.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

test_client-verify-alias_123456

XForwardedForClientCertClientVerifyEnabled

boolean

No

Menentukan apakah header X-Forwarded-Clientcert-clientverify digunakan untuk mengambil hasil verifikasi sertifikat klien. Nilai yang valid:

  • true: menggunakan header X-Forwarded-Clientcert-clientverify.

  • false (default): tidak menggunakan header X-Forwarded-Clientcert-clientverify.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

true

XForwardedForClientCertFingerprintAlias

string

No

Nama header kustom. Parameter ini hanya berlaku jika XForwardedForClientCertFingerprintEnabled diatur ke true.

Nama harus terdiri dari 1 hingga 40 karakter, dan dapat berisi huruf kecil, tanda hubung (-), garis bawah (_), dan angka.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

test_finger-print-alias_123456

XForwardedForClientCertFingerprintEnabled

boolean

No

Menentukan apakah header X-Forwarded-Clientcert-fingerprint digunakan untuk mengambil sidik jari sertifikat klien. Nilai yang valid:

  • true: menggunakan header X-Forwarded-Clientcert-fingerprint.

  • false (default): tidak menggunakan header X-Forwarded-Clientcert-fingerprint.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

true

XForwardedForClientCertIssuerDNAlias

string

No

Nama header kustom. Parameter ini hanya berlaku jika XForwardedForClientCertIssuerDNEnabled diatur ke true.

Nama harus terdiri dari 1 hingga 40 karakter, dan dapat berisi huruf kecil, tanda hubung (-), garis bawah (_), dan angka.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

test_issue-dn-alias_123456

XForwardedForClientCertIssuerDNEnabled

boolean

No

Menentukan apakah header X-Forwarded-Clientcert-issuerdn digunakan untuk mengambil informasi tentang otoritas yang menerbitkan sertifikat klien. Nilai yang valid:

  • true: menggunakan header X-Forwarded-Clientcert-issuerdn.

  • false (default): tidak menggunakan header X-Forwarded-Clientcert-issuerdn.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

true

XForwardedForClientCertSubjectDNAlias

string

No

Nama header kustom. Parameter ini hanya berlaku jika XForwardedForClientCertSubjectDNEnabled diatur ke true.

Nama harus terdiri dari 1 hingga 40 karakter, dan dapat berisi huruf kecil, tanda hubung (-), garis bawah (_), dan angka.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

test_subject-dn-alias_123456

XForwardedForClientCertSubjectDNEnabled

boolean

No

Menentukan apakah header X-Forwarded-Clientcert-subjectdn digunakan untuk mengambil informasi tentang pemilik sertifikat klien. Nilai yang valid:

  • true: menggunakan header X-Forwarded-Clientcert-subjectdn.

  • false (default): tidak menggunakan header X-Forwarded-Clientcert-subjectdn.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

true

XForwardedForClientSrcPortEnabled

boolean

No

Menentukan apakah header X-Forwarded-Client-srcport digunakan untuk mengambil port klien. Nilai yang valid:

  • true: menggunakan header X-Forwarded-Client-srcport.

  • false (default): tidak menggunakan header X-Forwarded-Client-srcport.

Catatan

Listener HTTP dan HTTPS mendukung parameter ini.

true

XForwardedForEnabled

boolean

No

Menentukan apakah header X-Forwarded-For digunakan untuk mengambil alamat IP klien. Nilai yang valid:

  • true (default)

  • false

Catatan

Listener HTTP dan HTTPS mendukung parameter ini.

true

XForwardedForProcessingMode

string

No

Menentukan cara header X-Forwarded-For diproses. Parameter ini hanya berlaku jika XForwardedForEnabled diatur ke true. Nilai yang valid:

  • append (default)

  • remove

Catatan
  • Jika parameter ini diatur ke append, ALB akan menambahkan alamat IP hop terakhir ke header X-Forwarded-For yang sudah ada dalam permintaan sebelum permintaan dikirim ke server backend.

  • Jika parameter ini diatur ke remove, ALB akan menghapus header X-Forwarded-For dalam permintaan sebelum permintaan dikirim ke server backend, terlepas dari apakah permintaan membawa header X-Forwarded-For atau tidak.

  • Parameter ini hanya tersedia untuk listener HTTP dan HTTPS.

append

XForwardedForProtoEnabled

boolean

No

Menentukan apakah header X-Forwarded-Proto digunakan untuk mengambil protokol listener instans ALB. Nilai yang valid:

  • true: menggunakan header X-Forwarded-Proto.

  • false (default): tidak menggunakan header X-Forwarded-Proto.

Catatan

Listener HTTP, HTTPS, dan QUIC mendukung parameter ini.

false

XForwardedForSLBIdEnabled

boolean

No

Menentukan apakah header SLB-ID digunakan untuk mengambil ID instans ALB. Nilai yang valid:

  • true: menggunakan header SLB-ID.

  • false (default): tidak menggunakan header SLB-ID.

Catatan

Listener HTTP, HTTPS, dan QUIC mendukung parameter ini.

false

XForwardedForSLBPortEnabled

boolean

No

Menentukan apakah header X-Forwarded-Port digunakan untuk mengambil port listener instans ALB. Nilai yang valid:

  • true: menggunakan header X-Forwarded-Port.

  • false (default): tidak menggunakan header X-Forwarded-Port.

Catatan

Listener HTTP, HTTPS, dan QUIC mendukung parameter ini.

false

XForwardedForClientSourceIpsEnabled

boolean

No

Menentukan apakah instans ALB diizinkan mengambil alamat IP klien dari header X-Forwarded-For. Nilai yang valid:

  • true

  • false (default)

Catatan

Listener HTTP dan HTTPS mendukung parameter ini.

false

XForwardedForClientSourceIpsTrusted

string

No

Alamat IP proksi tepercaya.

ALB akan menelusuri X-Forwarded-For dari belakang ke depan dan memilih alamat IP pertama yang tidak termasuk dalam daftar IP tepercaya sebagai alamat IP asal klien, yang akan mengalami pembatasan kecepatan jika pembatasan kecepatan berdasarkan alamat IP sumber diaktifkan.

10.1.1.0/24

XForwardedForHostEnabled

boolean

No

Menentukan apakah header X-Forwarded-Host digunakan untuk mengambil nama domain klien. Nilai yang valid:

  • true

  • false (default)

Catatan

Parameter ini tersedia untuk listener HTTP, HTTPS, dan QUIC.

false

QuicConfig

object

No

Pilih listener QUIC dan kaitkan dengan instans ALB.

QuicListenerId

string

No

ID listener QUIC yang ingin Anda kaitkan dengan listener HTTPS. Hanya listener HTTPS yang mendukung parameter ini. Parameter ini wajib diisi jika QuicUpgradeEnabled diatur ke true.

Catatan

Listener HTTPS dan listener QUIC harus ditambahkan ke instans ALB yang sama. Pastikan listener QUIC belum dikaitkan dengan listener lainnya.

lsn-o4u54y73wq7b******

QuicUpgradeEnabled

boolean

No

Menentukan apakah peningkatan QUIC diaktifkan. Nilai yang valid:

  • true: mengaktifkan peningkatan QUIC.

  • false (default): menonaktifkan peningkatan QUIC.

Catatan

Hanya listener HTTPS yang mendukung parameter ini.

false

Certificates

array<object>

No

Detail setiap sertifikat.

object

No

Konfigurasi sertifikat.

CertificateId

string

No

ID sertifikat. Hanya sertifikat server yang didukung. Anda dapat menentukan hingga 20 ID sertifikat.

103705*******

CaCertificates

array<object>

No

Sertifikat otoritas sertifikat (CA). Anda hanya dapat menentukan satu sertifikat CA.

object

No

Hierarki CA.

CertificateId

string

No

ID sertifikat CA.

Catatan

Parameter ini wajib diisi jika CaEnabled diatur ke true.

123157*******

DefaultActions

array<object>

Yes

Aksi aturan pengalihan.

array<object>

Yes

ForwardGroupConfig

object

Yes

Konfigurasi aksi pengalihan. Anda dapat menentukan maksimal 20 aksi.

ServerGroupTuples

array<object>

Yes

Grup server tujuan tempat permintaan dialihkan.

object

Yes

ServerGroupId

string

Yes

ID grup server tempat permintaan dialihkan.

sgp-8ilqs4axp6******

Type

string

Yes

Jenis aksi. Anda hanya dapat menentukan satu jenis aksi. Nilai yang valid:

ForwardGroup: mengalihkan permintaan ke beberapa grup server.

ForwardGroup

Tag

array<object>

No

Tag.

object

No

Key

string

No

Kunci tag. Panjang kunci tag maksimal 128 karakter dan tidak boleh diawali dengan acs: atau aliyun. Tidak boleh mengandung http:// atau https://.

env

Value

string

No

Nilai tag. Panjang nilai tag maksimal 128 karakter dan tidak boleh diawali dengan acs: atau aliyun. Tidak boleh mengandung http:// atau https://.

product

Elemen respons

Element

Type

Description

Example

object

JobId

string

ID tugas asinkron.

72dcd26b-f12d-4c27-b3af-18f6aed5****

ListenerId

string

ID listener.

lsn-o4u54y73wq7b******

RequestId

string

ID permintaan.

CEF72CEB-54B6-4AE8-B225-F876*******

Contoh

Respons sukses

JSONformat

{
  "JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
  "ListenerId": "lsn-o4u54y73wq7b******",
  "RequestId": "CEF72CEB-54B6-4AE8-B225-F876*******"
}

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 ResourceAlreadyExist.Listener The specified resource %s is already exist.
400 IncorrectStatus.LoadBalancer The status of %s [%s] is incorrect.
400 IncorrectBusinessStatus.LoadBalancer The business status of %s [%s]  is incorrect. The business status of %s [%s]  is incorrect.
400 ResourceQuotaExceeded.LoadBalancerListenersNum The quota of %s is exceeded for resource %s, usage %s/%s. The quota of %s is exceeded for resource %s, usage %s/%s.
400 OperationDenied.CrossLoadBalancerQUICListener The operation is not allowed because of %s. The operation is not allowed because of %s.
400 ResourceAlreadyAssociated.Listener The specified resource %s is already associated. The specified resource %s is already associated.
400 ResourceQuotaExceeded.SecurityPolicyAttachedNum The quota of %s is exceeded for resource %s, usage %s/%s. The quota of %s is exceeded for resource %s. Usage: %s/%s.
400 ResourceQuotaExceeded.ServerGroupAttachedNum The quota of %s is exceeded for resource %s, usage %s/%s.
400 ResourceQuotaExceeded.LoadBalancerServersNum The quota of %s is exceeded for resource %s, usage %s/%s.
400 ResourceQuotaExceeded.ServerAddedNum The quota of %s is exceeded for resource %s, usage %s/%s.
400 Mismatch.VpcId The %s is mismatched for %s and %s. The %s is mismatched for %s and %s.
400 OperationDenied.ServerGroupProtocolNotSupport The operation is not allowed because of ServerGroupProtocolNotSupport. The operation is not allowed because the server group protocol is not supported.
400 OperationDenied.GRPCServerGroup The operation is not allowed because of %s.
400 Mismatch.LoadBalancerEditionAndConnectionDrain The %s and %s are mismatched. The %s and %s are mismatched.
400 Mismatch.LoadBalancerEditionAndSlowStartEnable The %s and %s are mismatched. The %s and %s are mismatched.
400 InvalidParameter Invalid parameter, please check the parameter input. Invalid parameter, please check the parameter input.
403 Forbidden.SecurityPolicy Authentication has failed for SecurityPolicy.
403 Forbidden.LoadBalancer Authentication is failed for %s. Authentication is failed for %s.
403 Forbidden.Listener Authentication is failed for %s. Authentication is failed for %s.
404 ResourceNotFound.LoadBalancer The specified resource %s is not found. The specified resource %s is not found.
404 ResourceNotFound.ServerGroup The specified resource %s is not found.
404 ResourceNotFound.SecurityPolicy The specified resource %s is not found. The specified resource %s is not found.
404 ResourceNotFound.Listener The specified resource %s is not found.
404 ResourceNotFound.Certificate The specified resource %s is not found. The specified resource %s is not found.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.