Espelhando o tráfego com o Nginx


16

Preciso duplicar / espelhar o tráfego que chega ao meu servidor / recurso.

Quero dizer, eu tenho o servidor A e B e N (nginx) como servidor da web.

Todo o tráfego que chega a N / recurso -> redireciona para A e B

É possível?


2
Você provavelmente não quer fazer isso. O que você realmente está tentando fazer?
Michael Hampton

1
Eu realmente preciso dele para fazê-lo
Agus

2
Eu tenho um caso de uso. Eu tenho um cliente enviando dados para meus servidores que nossa infraestrutura de produção usa. Preciso dos mesmos dados enviados aos meus servidores de desenvolvimento para um maior desenvolvimento. O cliente é capaz apenas de enviar os dados para 1 ponto final. Não pergunte por que, eu não sei.
The Dude

1
Oh eu preciso de tráfego duplicado, quero dizer o traficc irá processar por A, mas B vai recevid processo desligada make
Agus

2
Encontrei outra versão desta pergunta com uma resposta que me ajudou: serverfault.com/a/515531/175380 Basicamente, você define o local a ser espelhado em uma post_actiondiretiva. Isso será executado após a solicitação ter sido atendida pela máquina de produção.
Adam Lukens

Respostas:


14

O Nginx agora tem um módulo de espelho http. A documentação está em https://nginx.org/en/docs/http/ngx_http_mirror_module.html

Exemplo de configuração da documentação:

location / {
    mirror /mirror;
    proxy_pass http://backend;
}

location /mirror {
    internal;
    proxy_pass http://test_backend$request_uri;
}

Existe uma maneira de usar um espelho, mesmo que um dos hosts esteja inoperante, eu tenho um caso de uso para isso.
Sagar Kharab


2

Baseado no LEIA - ME Parece que o GOR pode ajudá-lo a resolver seu problema.

Eu nunca o usei antes, apenas tropecei nessa semana, então boa sorte!


Ei, usando o GOR, ele apenas reconhece com um http 200. Portanto, se ele tem um objeto de resposta ou validação, ele quer fazer o que o cliente está enviando, não acho que isso funcionará para ele. Pelo que sei, e sou novo no Gor, você não pode transmitir o objeto de resultado de um dos seus segmentos de saída.
PatrickWalker

Estamos testando o GOR agora e temos alguns problemas. Ele interpreta os cabeçalhos como: Location: // newpath gerando solicitações como GET // newpath. Redireciona cabeçalhos originais soltos (incluindo o host do usuário, etc.) Estamos migrando para outra ferramenta.
Aalex Gabi


0

Depois de cavar e cavar, encontrei uma solução. Você pode vê-lo aqui Copie e envie uma solicitação para outro servidor nginx para teste de tráfego real por @scari

Apenas pensei em mencioná-lo aqui para facilitar a busca por outras pessoas. Na minha instalação, não usei o uwsgi - em vez disso, queria duplicar todas as solicitações recebidas em servidores adicionais (além dos servidores de backbones que já tinham balanceamento de carga.

Espero que ajude,
Liron

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.