Meneruskan permintaan
BERLAKU UNTUK: Semua tingkatAN API Management
Kebijakan forward-request
meneruskan permintaan masuk ke layanan backend yang ditentukan dalam konteks permintaan. URL layanan backend ditentukan dalam pengaturan API dan dapat diubah menggunakan kebijakan setel layanan backend.
Penting
- Kebijakan ini diperlukan untuk meneruskan permintaan ke backend API. Secara default, API Management menyiapkan kebijakan ini dalam cakupan global.
- Penghapusan kebijakan ini akan mengakibatkan permintaan yang tidak diteruskan ke layanan backend. Kebijakan di bagian keluar akan langsung dievaluasi setelah selesainya kebijakan di bagian masuk.
Catatan
Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.
Pernyataan kebijakan
<forward-request http-version="1 | 2or1 | 2" timeout="time in seconds (alternatively, use timeout-ms)" | timeout-ms="time in milliseconds (alternatively, use timeout)" continue-timeout="time in seconds" follow-redirects="false | true" buffer-request-body="false | true" buffer-response="true | false" fail-on-error-status-code="false | true"/>
Atribut
Atribut | Deskripsi | Wajib diisi | Default |
---|---|---|---|
waktu habis | Jumlah waktu dalam detik untuk menunggu header respons HTTP dikembalikan oleh layanan backend sebelum kesalahan batas waktu dimunculkan. Nilai minimum adalah 0 detik. Nilai yang lebih besar dari 240 detik mungkin tidak dihormati, karena infrastruktur jaringan yang mendasar dapat menghilangkan koneksi diam setelah waktu ini. Ekspresi kebijakan diizinkan. Anda dapat menentukan keduanya timeout atau timeout-ms tetapi tidak keduanya. |
No | 300 |
timeout-ms | Jumlah waktu dalam milidetik untuk menunggu header respons HTTP dikembalikan oleh layanan backend sebelum kesalahan waktu habis dimunculkan. Nilai minimum adalah 0 mdtk. Ekspresi kebijakan diizinkan. Anda dapat menentukan keduanya timeout atau timeout-ms tetapi tidak keduanya. |
No | T/A |
waktu habis berlanjut | Jumlah waktu dalam detik untuk 100 Continue menunggu kode status dikembalikan oleh layanan backend sebelum kesalahan batas waktu dinaikkan. Ekspresi kebijakan diizinkan. |
No | T/A |
versi http | Versi spesifikasi HTTP yang akan digunakan saat mengirim respons HTTP ke layanan backend. Saat menggunakan 2or1 , gateway akan mendukung HTTP /2 melalui /1, tetapi kembali ke HTTP /1 jika HTTP /2 tidak berfungsi. |
No | 1 |
pengalihan tindak lanjut | Menentukan apakah pengalihan dari layanan backend diikuti oleh gateway atau dikembalikan ke pemanggil. Ekspresi kebijakan diizinkan. | No | false |
buffer-request-body | Ketika diatur ke true , permintaan di-buffer dan akan digunakan kembali saat coba lagi. |
No | false |
buffer-response | Memengaruhi pemrosesan respons yang tergugus. Ketika diatur ke false , setiap gugus yang diterima dari backend segera dikembalikan ke pemanggil. Ketika diatur ke true , gugus di-buffer (8 KB, kecuali akhir aliran terdeteksi) dan hanya kemudian dikembalikan ke pemanggil.Atur ke false dengan backend seperti yang menerapkan peristiwa yang dikirim server (SSE) yang mengharuskan konten dikembalikan atau dialirkan segera ke pemanggil. Ekspresi kebijakan tidak diizinkan. |
No | true |
fail-on-error-status-code | Saat diatur ke true , memicu bagian on-error untuk kode respons dalam kisaran 400 hingga 599 inklusif. Ekspresi kebijakan tidak diizinkan. |
No | false |
Penggunaan
- Bagian kebijakan: backend
- Cakupan kebijakan: global, ruang kerja, produk, API, operasi
- Gateway: klasik, v2, konsumsi, dihost sendiri, ruang kerja
Contoh
Kirim permintaan ke backend HTTP/2
Kebijakan tingkat API berikut meneruskan semua permintaan API ke layanan backend HTTP/2.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request http-version="2or1"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Ini diperlukan untuk beban kerja HTTP /2 atau gRPC dan saat ini hanya didukung di gateway yang dihost sendiri. Pelajari selengkapnya di gambaran umum gateway API kami.
Meneruskan permintaan dengan interval waktu habis
Kebijakan tingkat API berikut meneruskan semua permintaan API ke layanan backend dengan interval waktu tunggu 60 detik.
<!-- api level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Mewarisi kebijakan dari cakupan induk
Kebijakan tingkat pengoperasian ini menggunakan elemen base
untuk mewarisi kebijakan backend dari cakupan tingkat API induk.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<base/>
</backend>
<outbound>
<base/>
</outbound>
</policies>
Jangan mewarisi kebijakan dari cakupan induk
Kebijakan tingkat operasi ini secara eksplisit meneruskan semua permintaan ke layanan backend dengan batas waktu 120 dan tidak mewarisi kebijakan backend tingkat API induk. Jika layanan backend merespons dengan kode status kesalahan dari 400 hingga 599 secara inklusif, bagian on-error akan dipicu.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<forward-request timeout="120" fail-on-error-status-code="true" />
<!-- effective policy. note the absence of <base/> -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Jangan meneruskan permintaan ke backend
Kebijakan tingkat operasi ini tidak meneruskan permintaan ke layanan backend.
<!-- operation level -->
<policies>
<inbound>
<base/>
</inbound>
<backend>
<!-- no forwarding to backend -->
</backend>
<outbound>
<base/>
</outbound>
</policies>
Kebijakan terkait
Konten terkait
Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat:
- Tutorial: Mengubah dan melindungi API Anda
- Referensi Kebijakan untuk daftar lengkap pernyataan kebijakan dan pengaturannya
- Ekspresi kebijakan
- Mengatur atau mengedit kebijakan
- Menggunakan kembali konfigurasi kebijakan
- Repositori cuplikan kebijakan
- Kebijakan penulis menggunakan Microsoft Copilot di Azure