Anda mungkin tidak ingin melakukan ini. Apa yang sebenarnya ingin Anda lakukan?
Michael Hampton
1
Saya benar-benar membutuhkannya untuk melakukannya
Agus
2
Saya punya kasus penggunaan. Saya memiliki klien yang mendorong data ke server saya yang menggunakan infrastruktur produksi kami. Saya perlu data yang sama persis didorong ke server dev saya untuk pengembangan lebih lanjut. Klien hanya mampu mengirim data ke 1 titik akhir. Jangan tanya kenapa, saya tidak tahu.
The Dude
1
Oh, saya perlu menduplikasi traffic, maksud saya traficc akan diproses oleh A, tapi B akan menerima proses offline
Agus
2
Saya menemukan versi lain dari pertanyaan ini dengan jawaban yang membantu saya: serverfault.com/a/515531/175380 Pada dasarnya, Anda mengatur lokasi untuk dicerminkan dalam post_actionarahan. Ini akan berjalan setelah permintaan dipenuhi oleh mesin produksi.
Modul ngx_http_mirror_module (1.13.4) mengimplementasikan pencerminan dari permintaan asli dengan membuat subrequest cermin latar belakang. Respons terhadap mirror subrequest diabaikan.
Hei menggunakan GOR itu hanya mengakui dengan http 200. Jadi jika dia memiliki objek respons atau validasi dia ingin dilakukan dengan apa yang klien kirimkan kepadanya, saya tidak berpikir ini akan bekerja untuknya. Sejauh yang saya tahu, dan saya baru di Gor, Anda tidak bisa meneruskan objek hasil dari salah satu segmen output Anda.
PatrickWalker
Kami sedang menguji GOR sekarang dan kami memiliki beberapa masalah. Ini menafsirkan header seperti: Lokasi: // newpath menghasilkan permintaan seperti GET // newpath. Arahkan ulang header asli yang longgar (termasuk agen pengguna host, dll.) Kami sedang bermigrasi ke alat lain.
Aalex Gabi
1
Anda tidak dapat mencerminkan permintaan dengan NGINX tetapi permintaan tersebut tersedia sebagai variabel. Anda bisa menggunakan skrip Lua untuk mengirim variabel itu ke server pihak ketiga sebagai permintaan sub.
http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
Hanya berpikir saya harus menyebutkannya di sini untuk memudahkan pencarian orang lain. Pada pengaturan saya, saya tidak menggunakan uwsgi - sebagai gantinya saya ingin menduplikasi setiap permintaan masuk ke server tambahan (selain server tulang punggung yang sudah memuat seimbang.
post_action
arahan. Ini akan berjalan setelah permintaan dipenuhi oleh mesin produksi.Jawaban:
Nginx sekarang memiliki modul cermin http. Dokumentasi ada di https://nginx.org/en/docs/http/ngx_http_mirror_module.html
Contoh konfigurasi dari dokumentasi:
sumber
Berikut adalah fitur baru dari nginx (1.13.4): http://nginx.org/en/docs/http/ngx_http_mirror_module.html#mirror
sumber
Berdasarkan README mereka Tampaknya GOR dapat membantu Anda memecahkan masalah Anda.
Saya tidak pernah menggunakannya sebelumnya, baru saja menemukannya minggu ini, semoga beruntung!
sumber
Anda tidak dapat mencerminkan permintaan dengan NGINX tetapi permintaan tersebut tersedia sebagai variabel. Anda bisa menggunakan skrip Lua untuk mengirim variabel itu ke server pihak ketiga sebagai permintaan sub. http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
sumber
Setelah menggali dan menggali, saya menemukan solusi. Anda dapat melihatnya di sini Menyalin dan mengirimkan permintaan ke server nginx lain untuk pengujian lalu lintas nyata oleh @scari
Hanya berpikir saya harus menyebutkannya di sini untuk memudahkan pencarian orang lain. Pada pengaturan saya, saya tidak menggunakan uwsgi - sebagai gantinya saya ingin menduplikasi setiap permintaan masuk ke server tambahan (selain server tulang punggung yang sudah memuat seimbang.
Semoga ini bisa membantu,
Liron
sumber