Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Dalam komunikasi klien-server, server merespons kembali dengan kode status HTTP 405
Method Not Allowed jika
Metode permintaan HTTP yang ditampilkan oleh klien diketahui server
tetapi tidak didukung oleh resource target. Demikian pula di Apigee Edge, server backend dapat
balas email ini dengan kode status HTTP 405 Method Not Allowed.
Apigee Edge mengharapkan server backend mengirim 405 Method Not Allowed respons
dengan daftar metode yang diizinkan di header Allow, sesuai spesifikasi
RFC 7231, bagian 6.5.5: Metode 405 Tidak Diizinkan.
Header Allow harus dikirim dalam format berikut:
Allow: HTTP_METHODS
Misalnya, jika server backend Anda mengizinkan GET, POST, dan
Metode HEAD, Anda harus memastikan bahwa header Allow berisi metode tersebut
sebagai berikut:
Allow: GET, POST, HEAD
Jika server backend tidak mengirim header Allow dengan kode status HTTP
405 Method Not Allowed,, kemudian Apigee menampilkan kode status HTTP 502 Bad
Gateway dengan kode error protocol.http.Response405WithoutAllowHeader ke
aplikasi klien. Solusi yang direkomendasikan untuk mengatasi error ini adalah
untuk memperbaiki server backend agar mematuhi spesifikasi
RFC 7231, bagian 6.5.5: 405 Method Not Allowed atau gunakan penanganan fault untuk
merespons kembali dengan kode status HTTP 405 Method Not Allowed termasuk
Allow seperti yang dijelaskan dalam playbook pemecahan masalah
502 Bad Gateway - Response 405 without Allow header.
Namun, dalam beberapa kasus yang jarang terjadi, Anda mungkin tidak dapat memperbaiki backend atau mengubah Proxy API untuk segera mengatasi masalah ini.
Dalam kasus tersebut, Anda dapat menyetel header abaikan izinkan untuk properti 405
HTTP.ignore.allow_header.for.405 di
Tingkat Pemroses Pesan untuk sementara. Menetapkan properti ini ke true akan mencegah Apigee
agar tidak menampilkan respons 502 Bad Gateway ke aplikasi klien meskipun
server backend mengirimkan kode status HTTP 405 Method Not Allowed tanpa
Header Allow.
Setelah Anda dapat memperbaiki server backend agar mengirim kode status HTTP 405 Method
Not Allowed dengan header Allow, Anda dapat mengembalikan properti
HTTP.ignore.allow_header.for.405 ke nilai defaultnya false.
Sebelum memulai
Sebelum menggunakan langkah-langkah dalam dokumen ini, pastikan Anda memahami topik berikut:
- Baca Playbook - 502 Bad Gateway - response 405 without Allow header.
- Jika Anda tidak terbiasa mengonfigurasi properti untuk Edge di Private Cloud, baca Cara mengonfigurasi Edge.
Mengonfigurasi header abaikan izinkan untuk properti 405 ke benar (true) pada Pemroses Pesan
Di Apigee Edge, properti HTTP.ignore.allow_header.for.405 disetel ke
false, secara default. Hal ini memungkinkan Apigee Edge menampilkan 502 Bad
Gateway dengan kode error protocol.http.Response405WithoutAllowHeader ke
aplikasi klien jika server backend mengirimkan kode status HTTP 405 Method Not
Allowed tanpa header Allow. Jika Anda ingin mencegah Apigee Edge
mengirimkan 502 Bad Gateway ke aplikasi klien, maka Anda perlu menyetel nilai
properti HTTP.ignore.allow_header.for.405 ke truepada Pesan
Prosesor.
Bagian ini menjelaskan cara mengonfigurasi properti
HTTP.ignore.allow_header.for.405 ke true pada
Pemroses Pesan, menggunakan token sesuai sintaks yang dijelaskan dalam
Cara mengonfigurasi Edge.
-
Di komputer Message Processor, buka file berikut di editor. Jika tidak sudah ada, maka buatlah.
/opt/apigee/customer/application/message-processor.properties
Misalnya, untuk membuka file menggunakan vi, masukkan kode berikut:
vi /opt/apigee/customer/application/message-processor.properties
- Tambahkan baris dalam format berikut ke file properti:
conf_http_HTTP.ignore.allow_header.for.405=true
- Simpan perubahan.
- Pastikan file properti dimiliki oleh pengguna
apigeeseperti yang ditunjukkan di bawah:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Mulai ulang Pemroses Pesan seperti yang ditunjukkan di bawah ini:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jika Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah-langkah di atas pada semua Pemroses Pesan Prosesor.
Memverifikasi header abaikan izinkan untuk properti 405 disetel ke benar (true) pada Pemroses Pesan
Bagian ini menjelaskan cara memverifikasi bahwa properti
HTTP.ignore.allow_header.for.405 telah berhasil diperbarui ke true
pada Message Processors.
Meskipun Anda menggunakan token conf_http_HTTP.ignore.allow_header.for.405 untuk mengupdate
nilai properti di Pemroses Pesan, Anda harus memverifikasi apakah properti sebenarnya
HTTP.ignore.allow_header.for.405 telah ditetapkan ke true.
- Di mesin Pemroses Pesan, telusuri properti
HTTP.ignore.allow_header.for.405dalam/opt/apigee/edge-message-processor/confdan periksa untuk melihat apakah telah ditetapkan ketrueseperti yang ditunjukkan di bawah ini:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Jika properti berhasil diperbarui di Pemroses Pesan, perintah di atas
harus menampilkan nilai properti
HTTP.ignore.allow_header.for.405sebagaitruedalam filehttp.propertiesseperti yang ditunjukkan di bawah ini:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Jika Anda masih melihat nilai untuk properti
HTTP.ignore.allow_header.for.405sebagaifalselalu verifikasi bahwa Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi header abaikan izinkan untuk properti 405 ke true dalam Mengirim Pesan ke Pemroses dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah lagi dengan benar. - Jika Anda tetap tidak dapat mengubah properti
HTTP.ignore.allow_header.for.405, lalu hubungi Dukungan Apigee Edge.
Mengonfigurasi header abaikan izinkan untuk properti 405 ke salah pada Pemroses Pesan
Bagian ini menjelaskan cara mengonfigurasi properti
HTTP.ignore.allow_header.for.405 ke nilai defaultnya false
di Pemroses Pesan, menggunakan token sesuai sintaksis yang dijelaskan di
Cara mengonfigurasi Edge.
- Verifikasi apakah properti
HTTP.ignore.allow_header.for.405diubah menjaditrue. Anda dapat melakukannya dengan menelusuri properti ini di direktori/opt/apigee/edge-message-processor/confdan memeriksa menggunakan perintah berikut:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Jika properti ditetapkan ke
truepada Pemroses Pesan, perintah di atas harus menunjukkan nilai propertiHTTP.ignore.allow_header.for.405sebagaitruedalam filehttp.propertiesseperti yang ditunjukkan di bawah ini:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Jika perintah di atas menunjukkan bahwa properti
HTTP.ignore.allow_header.for.405ditetapkan kefalse(nilai default), sehingga Anda tidak perlu melakukan apa pun. Yaitu, lewati langkah berikut. - Jika properti
HTTP.ignore.allow_header.for.405ditetapkan ketrue, lalu lakukan langkah-langkah berikut untuk kembali ke nilai defaultfalse. Di komputer Message Processor, buka file berikut di editor:
/opt/apigee/customer/application/message-processor.properties
Misalnya, untuk membuka file menggunakan vi, masukkan kode berikut:
vi /opt/apigee/customer/application/message-processor.properties
- Hapus baris berikut dari file properti:
conf_http_HTTP.ignore.allow_header.for.405=true
- Simpan perubahan.
- Pastikan file properti dimiliki oleh pengguna
apigeeseperti yang ditunjukkan di bawah:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Mulai ulang Pemroses Pesan seperti yang ditunjukkan di bawah ini:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jika Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah-langkah di atas pada semua Pemroses Pesan Prosesor.
Memverifikasi header abaikan izinkan untuk properti 405 disetel ke salah (false) pada Pemroses Pesan
Bagian ini menjelaskan cara memverifikasi bahwa properti
HTTP.ignore.allow_header.for.405 telah berhasil diperbarui ke false
pada Message Processors.
Meskipun Anda menggunakan token
conf_http_HTTP.ignore.allow_header.for.405 untuk memperbarui nilai pada Pesan
Pemroses, Anda harus memverifikasi apakah properti HTTP.ignore.allow_header.for.405 yang sebenarnya
telah ditetapkan ke false.
- Di mesin Pemroses Pesan, telusuri properti
HTTP.ignore.allow_header.for.405di direktori/opt/apigee/edge-message- processor/confdan periksa apakah sudah disetel kefalseseperti yang ditunjukkan di bawah ini:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Jika properti berhasil diperbarui di Pemroses Pesan, perintah di atas
harus menampilkan nilai properti
HTTP.ignore.allow_header.for.405sebagaifalsedalam filehttp.propertiesseperti yang ditunjukkan di bawah ini:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
- Jika Anda masih melihat nilai untuk properti
HTTP.ignore.allow_header.for.405sebagaitrue, lalu verifikasi bahwa Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi header abaikan izinkan untuk properti 405 ke salah pada Pemroses Pesan dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah dengan benar. - Jika Anda tetap tidak dapat mengubah properti
HTTP.ignore.allow_header.for.405, lalu hubungi Dukungan Apigee Edge.