Necesito duplicar / reflejar el tráfico que llega a mi servidor / recurso.
Quiero decir, tengo el servidor A y B y N (nginx) como servidor web.
Todo el tráfico que llega a N / recurso -> redirige a A y B
¿Es posible?
Nginx ahora tiene un módulo espejo http. La documentación está en https://nginx.org/en/docs/http/ngx_http_mirror_module.html
Ejemplo de configuración de la documentación:
location / {
mirror /mirror;
proxy_pass http://backend;
}
location /mirror {
internal;
proxy_pass http://test_backend$request_uri;
}
Aquí hay una nueva característica de nginx (1.13.4): http://nginx.org/en/docs/http/ngx_http_mirror_module.html#mirror
El módulo ngx_http_mirror_module (1.13.4) implementa la duplicación de una solicitud original mediante la creación de subrequests de duplicación de fondo. Las respuestas a las subrequests espejo se ignoran.
Basado en su README Parece que GOR podría ayudarlo a resolver su problema.
Nunca lo usé antes, me topé con él esta semana, ¡así que buena suerte!
no puede reflejar solicitudes con NGINX pero la solicitud está disponible como una variable. Sin embargo, podría usar las secuencias de comandos de Lua para enviar esa variable a un servidor de terceros como una solicitud secundaria. http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
Después de cavar y cavar encontré una solución. Puede verlo aquí Copie y envíe una solicitud a otro servidor nginx para pruebas de tráfico real por @scari
Solo pensé que debería mencionarlo aquí para facilitar la búsqueda de otras personas. En mi configuración, no utilicé uwsgi; en cambio, quería duplicar cada solicitud entrante en servidores adicionales (además de los servidores de red troncal que ya tenían la carga equilibrada.
Espero que ayude,
Liron
post_action
directiva. Esto se ejecutará después de que la máquina de producción haya satisfecho la solicitud.