All Products
Search
Document Center

Function Compute:Apakah Port Listening Custom Runtime Harus Sesuai dengan Port Listening HTTP Server?

Last Updated:Apr 02, 2026

Ya. Function Compute menggunakan CAPort (Container Application Port) untuk melakukan ping ke kontainer Anda dan memverifikasi bahwa kontainer tersebut siap menangani permintaan. HTTP server di dalam custom runtime Anda harus mendengarkan pada port yang sama dengan CAPort, atau pemeriksaan kesiapan akan gagal dengan error FunctionNotStarted.

CAPort default adalah 9000. Jika Anda mempertahankan nilai default, HTTP server Anda juga harus mendengarkan pada port 9000. Jika Anda mengubah CAPort menjadi 8080, HTTP server Anda harus mendengarkan pada port 8080.

Persyaratan Alamat Bind

Bind HTTP server Anda ke 0.0.0.0:CAPort atau *:CAPort—bukan 127.0.0.1:CAPort. Alamat loopback hanya dapat dijangkau dari dalam kontainer. Function Compute mengirim ping kesiapan dari luar kontainer, sehingga server yang dibind ke 127.0.0.1 tidak akan merespons.

Binding yang benar vs. salah (Node.js)

// Benar — dapat dijangkau dari luar kontainer
server.listen(9000, '0.0.0.0');

// Salah — menyebabkan error FunctionNotStarted
server.listen(9000, '127.0.0.1');

Error FunctionNotStarted

Jika port tidak sesuai atau server dibind ke alamat loopback, Function Compute akan mengembalikan error berikut setelah timeout waktu mulai kontainer habis:

{
  "ErrorCode": "FunctionNotStarted",
  "ErrorMessage": "The CA's HTTP server cannot be started: ContainerStartDuration: 25000000000. Ping CA failed due to: dial tcp 21.0.5.7:9000: getsockopt: connection refused"
}

Untuk mengatasi error ini, verifikasi hal berikut:

  • Port tempat HTTP server Anda mendengarkan sesuai dengan CAPort.

  • HTTP server dibind ke 0.0.0.0 atau *, bukan 127.0.0.1.