Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
  
    Lihat dokumentasi 
    Apigee Edge.
  
  
       
 
  
Topik ini menjelaskan properti transportasi yang dapat ditetapkan dalam konfigurasi TargetEndpoint dan ProxyEndpoint untuk mengontrol perilaku koneksi dan pengiriman pesan. Untuk cakupan lengkap opsi konfigurasi
  TargetEndpoint
  dan ProxyEndpoint, lihat Referensi konfigurasi proxy API.
Properti Transportasi TargetEndpoint
Elemen HTTPTargetConnection dalam konfigurasi TargetEndpoint
  menentukan serangkaian properti
  transportasi HTTP. Anda dapat menggunakan properti ini untuk menyetel konfigurasi tingkat transportasi.
Properti ditetapkan pada elemen TargetEndpoint HTTPTargetConnection
  seperti yang ditunjukkan dalam konfigurasi contoh ini:
<TargetEndpoint name="default">
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
    <Properties>
      <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property>
      <Property name="retain.queryparams">apikey</Property>
    </Properties>
  </HTTPTargetConnection>
</TargetEndpoint>Spesifikasi Properti Transportasi TargetEndpoint
| Nama Properti | Nilai Default | Deskripsi | 
|---|---|---|
| allow.post.without.content.length | false | Memungkinkan Anda mengirim permintaan POST tanpa konten di isi. | 
| allow.put.without.content.length | false | Memungkinkan Anda mengirim permintaan PUT tanpa konten di isi. | 
| allow.tls.session.resumption | true | Jika klien true(default) menggunakan kembali sesi TLS saat membuat koneksi baru ke target.
        Setel kefalsejika Anda tidak ingin menggunakan ulang sesi TLS. Penggunaan ulang sesi umumnya
        berarti waktu koneksi yang lebih singkat, tetapi beberapa target mungkin tidak mendukung penggunaan ulang sesi atau mengalami
        kesulitan dengannya. | 
| keepalive.timeout.millis | 60000 | Waktu tunggu koneksi tidak aktif untuk koneksi target di kumpulan koneksi. Jika koneksi dalam pool tidak ada aktivitas di luar batas yang ditentukan, maka koneksi akan ditutup. | 
| connect.timeout.millis | 3000 | Waktu tunggu koneksi target habis. Apigee menampilkan kode status HTTP  | 
| ignore.allow.header.for.405 | true | Memungkinkan Anda meneruskan kode status 405 kembali ke klien. Dengan mengaktifkan flag, Apigee akan menampilkan kode status 405, bukan 502. | 
| io.timeout.millis | 55000 | Jika tidak ada data yang akan dibaca selama jumlah milidetik yang ditentukan, atau jika soket tidak siap untuk menulis data selama jumlah milidetik yang ditentukan, transaksi akan diperlakukan sebagai waktu tunggu habis. 
 | 
| supports.http11 | true | Jika ini adalah truedan klien mengirim permintaan1.1, target juga akan dikirimi permintaan1.1, jika tidak, permintaan1.0akan dikirim ke target. | 
| use.proxy | true | 
            Jika file penggantian Apigee Hybrid berisi konfigurasi  
            Jika disetel ke  | 
| use.proxy.tunneling | true | Jika disetel ke benar (true), dan konfigurasi proxy ditentukan file penggantian Apigee Hybrid seperti yang dijelaskan dalam Mengonfigurasi penerusan proxy untuk proxy API, maka koneksi target akan disetel untuk menggunakan tunnel yang ditentukan. Jika target menggunakan TLS/SSL, properti ini akan diabaikan, dan pesan akan selalu dikirim menggunakan tunnel. | 
| response.payload. | 10M | Secara default ( 10M). Gunakan propertiresponse.payload.parse.limituntuk menetapkan ukuran payload maksimum yang dapat diproses dalam alur respons, dalam megabyte (M). Batas yang dapat dikonfigurasi minimum adalah 10M dan batas yang dapat dikonfigurasi maksimum adalah 30M. Jika properti tidak ditetapkan, batas defaultnya adalah 10 Juta.Lihat juga Ukuran payload pesan. | 
| request.streaming.enabled | false | Secara default ( | 
| response.streaming.enabled | false | Secara default (salah), muatan respons HTTP dibaca ke dalam buffer, dan kebijakan yang
          dapat beroperasi pada muatan berfungsi seperti yang diharapkan. Jika payload lebih besar daripada
          ukuran buffer (10 MB di Apigee), Anda dapat menetapkan
          atribut ini ke benar (true). Jika benar (true), muatan respons HTTP tidak dibaca ke dalam buffer; muatan tersebut di-streaming apa adanya ke alur respons  | 
| success.codes | T/A | Secara default, Apigee memperlakukan kode HTTP  Menetapkan properti ini akan menggantikan nilai default. Oleh karena itu, jika Anda ingin menambahkan
          kode HTTP  
 Jika Anda hanya ingin kode HTTP  
 Dengan menetapkan kode HTTP  | 
| compression.algorithm | T/A | Secara default, Apigee mematuhi jenis kompresi yang ditetapkan (gzip, deflate, atau tidak ada) untuk pesan yang diterima. Jika permintaan diterima dari klien menggunakan, misalnya, kompresi gzip, maka Apigee akan meneruskan permintaan ke target menggunakan kompresi gzip. Jika
          respons yang diterima dari target menggunakan deflate, Apigee akan meneruskan respons ke
          klien menggunakan deflate. Nilai yang didukung adalah: 
 Lihat juga: Apakah Apigee mendukung kompresi/dekompresi dengan kompresi GZIP/deflate? | 
| request.retain.headers. | true | Secara default, Apigee selalu mempertahankan semua header HTTP pada pesan keluar. Jika disetel
        ke true, semua header HTTP yang ada pada permintaan masuk akan disetel pada
        permintaan keluar. | 
| request.retain.headers | T/A | Menentukan header HTTP tertentu dari permintaan yang harus ditetapkan pada permintaan
        keluar ke layanan target. Misalnya, untuk meneruskan header User-Agent, tetapkan nilairequest.retain.headerskeUser-Agent.
        Beberapa header HTTP ditentukan sebagai daftar yang dipisahkan koma, misalnya,User-Agent,Referer,Accept-Language. Properti ini menggantikanrequest.retain.headers.enabled. Jikarequest.retain.headers.enabledditetapkan kefalse, header apa pun yang ditentukan dalam
        propertirequest.retain.headersakan tetap ditetapkan pada pesan keluar. | 
| response.retain.headers. | true | Secara default, Apigee selalu mempertahankan semua header HTTP pada pesan keluar. Jika disetel
        ke true, semua header HTTP yang ada pada respons masuk dari layanan
        target akan disetel pada respons keluar sebelum diteruskan keProxyEndpoint. | 
| response.retain.headers | T/A | Menentukan header HTTP tertentu dari respons yang harus ditetapkan pada respons
        keluar sebelum diteruskan ke ProxyEndpoint. Misalnya, untuk
        meneruskan headerExpires, tetapkan nilairesponse.retain.headerskeExpires. Beberapa header HTTP ditentukan sebagai daftar yang dipisahkan koma, misalnya,Expires,Set-Cookie. Properti ini menggantikanresponse.retain.headers.enabled. Jikaresponse.retain.headers.enabledditetapkan kefalse, header apa pun
        yang ditentukan dalam propertiresponse.retain.headersmasih ditetapkan pada
        pesan keluar. | 
| retain.queryparams. | true | Secara default, Apigee selalu mempertahankan semua parameter kueri pada permintaan keluar. Jika
        ditetapkan ke true, semua parameter kueri yang ada pada permintaan masuk akan ditetapkan pada
        permintaan keluar ke layanan target. | 
| retain.queryparams | T/A | Menentukan parameter kueri tertentu yang akan ditetapkan pada permintaan keluar. Misalnya, untuk
        menyertakan parameter kueri apikeydari pesan permintaan, tetapkanretain.queryparamskeapikey. Beberapa parameter kueri
        ditentukan sebagai daftar yang dipisahkan koma, misalnya,apikey,environment. Properti
        ini menggantikanretain.queryparams.enabled. | 
Properti Transportasi ProxyEndpoint
Elemen ProxyEndpoint HTTPTargetConnection menentukan serangkaian properti
  transportasi HTTP. Properti
  ini dapat digunakan untuk menetapkan konfigurasi tingkat transportasi.
Properti ditetapkan pada elemen ProxyEndpoint HTTPProxyConnection
   seperti yang ditunjukkan dalam konfigurasi contoh ini:
<ProxyEndpoint name="default">
  <HTTPProxyConnection>
    <BasePath>/v1/weather</BasePath>
    <Properties>
      <Property name="request.streaming.enabled">true</Property>
    </Properties>
  </HTTPProxyConnection>
</ProxyEndpoint>
Header permintaan
  Permintaan HTTP masuk menyertakan header HTTP yang dikirim oleh klien.
  Header dengan nama yang cocok dengan pola X-Apigee-* akan dihapus dari permintaan masuk jika klien mengirimkannya. Pola nama ini dicadangkan untuk Apigee.
Spesifikasi Properti Transportasi ProxyEndpoint
| Nama Properti | Nilai Default | Deskripsi | 
|---|---|---|
| X-Forwarded-For | false | Jika disetel ke benar, alamat IP host virtual akan ditambahkan ke permintaan keluar sebagai
        nilai header HTTP X-Forwarded-For. | 
| request.streaming. | false | Secara default ( false), payload permintaan HTTP dibaca ke dalam buffer, dan
        kebijakan yang dapat
        beroperasi pada payload berfungsi seperti yang diharapkan. Jika payload lebih besar dari ukuran buffer (10 MB di Apigee), Anda dapat menetapkan atribut ini ketrue. Saattrue, muatan permintaan HTTP tidak dibaca
        ke dalam buffer; muatan tersebut
        di-streaming apa adanya ke alur permintaanTargetEndpoint. Dalam hal ini, kebijakan apa pun
        yang beroperasi
        pada payload dalam alur permintaanProxyEndpointakan dilewati. Lihat juga
        Permintaan dan respons
        streaming. | 
| request.payload. | 10M | Secara default ( 10M). Gunakan propertirequest.payload.parse.limituntuk menetapkan ukuran payload maksimum yang dapat diproses dalam alur permintaan, dalam megabyte (M). Batas yang dapat dikonfigurasi minimum adalah 10M dan batas yang dapat dikonfigurasi maksimum adalah 30M. Jika properti tidak ditetapkan, batas defaultnya adalah 10 Juta.Lihat juga Ukuran payload pesan. | 
| response.streaming. | false | Secara default (salah), muatan respons HTTP dibaca ke dalam buffer, dan kebijakan yang
        dapat beroperasi pada muatan berfungsi seperti yang diharapkan. Jika payload lebih besar daripada ukuran buffer (10 MB di Apigee), Anda dapat menetapkan atribut ini ke true. Saattrue, muatan respons HTTP tidak dibaca
        ke dalam buffer; muatan tersebut
        di-streaming apa adanya ke klien. Dalam hal ini, kebijakan apa pun yang beroperasi pada payload dalam alur responsProxyEndpointakan dilewati. Lihat juga
        Permintaan dan respons
        streaming. | 
| compression.algorithm | T/A | Secara default, Apigee mematuhi jenis kompresi yang ditetapkan (gzip, deflate, atau tidak ada) untuk pesan yang diterima. Misalnya, jika klien mengirimkan permintaan yang menggunakan kompresi gzip, Apigee akan meneruskan permintaan ke target menggunakan kompresi gzip. Anda dapat mengonfigurasi algoritma
          kompresi agar diterapkan secara eksplisit dengan menyetel properti ini di
           
 Lihat juga: Apakah Apigee mendukung kompresi/dekompresi dengan kompresi GZIP/deflate? | 
| api.timeout | T/A | Mengonfigurasi waktu tunggu untuk setiap proxy API (dalam milidetik) Anda dapat mengonfigurasi proxy API, bahkan yang mengaktifkan
          streaming,
          agar waktu tunggu habis setelah waktu yang ditentukan dengan status  
            Misalnya, untuk mengonfigurasi proxy agar waktu tunggu habis setelah 180.000 milidetik (tiga menit),
            tambahkan properti berikut ke  <Property name="api.timeout">180000</Property> Anda tidak dapat menetapkan properti ini dengan variabel. | 
| HTTPHeader.allowDuplicates | T/A | Gunakan setelan ini untuk mengizinkan header duplikat (untuk header tertentu). <HTTPProxyConnection>
  <Properties>
     <Property name="HTTPHeader.allowDuplicates">Content-Type,Authorization</Property>
  </Properties>
</HTTPProxyConnection> | 
| HTTPHeader.multiValued | T/A | Gunakan setelan ini untuk mengizinkan header duplikat (untuk header tertentu). <HTTPProxyConnection>
  <Properties>
    <Property name="HTTPHeader.multiValued">Content-Type,Authorization</Property>
  </Properties>
</HTTPProxyConnection> | 
Menyetel io.timeout.millis dan api.timeout
Operasi io.timeout.millis dan api.timeout
  terkait. Pada setiap permintaan ke proxy API:
  
- Ingress (alias Load Balancer Internal) mengirimkan nilai waktu tunggu ke Pemroses Pesan. Nilai waktu tunggu ini secara default adalah 300 detik dan tidak dapat dikonfigurasi.
- Message Processor kemudian menetapkan api.timeout:- Jika api.timeouttidak ditetapkan di tingkat proxy, gunakan waktu tunggu yang ditetapkan oleh Ingress.
- Jika api.timeoutditetapkan di tingkat proxy, tetapkan di Message Processor ke nilai yang lebih kecil dari waktu tunggu Ingress atau nilaiapi.timeout.
 
- Jika 
- 
      Nilai api.timeoutmenentukan jumlah waktu maksimum yang dimiliki proxy API untuk dieksekusi dari permintaan API hingga respons.Setelah setiap kebijakan di proxy API dieksekusi, atau sebelum Message Processor mengirim permintaan ke endpoint target, Message Processor menghitung ( api.timeout- waktu yang berlalu sejak awal permintaan).Jika nilainya kurang dari nol, waktu maksimum untuk menangani permintaan telah berakhir dan Message Processor akan menampilkan 504 Gateway Timeout.
- 
      Nilai io.timeout.millismenentukan jumlah waktu maksimum yang harus direspons oleh endpoint target.Sebelum terhubung ke endpoint target, Message Processor menentukan yang lebih kecil antara ( api.timeout- waktu yang berlalu sejak awal permintaan) danio.timeout.millis. Kemudian,io.timeout.millisakan ditetapkan ke nilai tersebut.Jika terjadi waktu tunggu saat menulis permintaan HTTP atau membaca respons HTTP, 504 Gateway Timeoutakan ditampilkan.