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.
O módulo ngx_http_mirror_module (1.13.4) implementa o espelhamento de uma solicitação original criando sub-requisições de espelhamento em segundo plano. As respostas às sub-solicitações de espelhamento são ignoradas.
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
1
você não pode espelhar solicitações com NGINX, mas a solicitação está disponível como uma variável. Você pode usar o script Lua para enviar essa variável para um servidor de terceiros como uma sub-solicitação.
http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
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.
post_action
diretiva. Isso será executado após a solicitação ter sido atendida pela máquina de produção.Respostas:
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:
fonte
Aqui está um novo recurso do nginx (1.13.4): http://nginx.org/en/docs/http/ngx_http_mirror_module.html#mirror
fonte
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!
fonte
você não pode espelhar solicitações com NGINX, mas a solicitação está disponível como uma variável. Você pode usar o script Lua para enviar essa variável para um servidor de terceiros como uma sub-solicitação. http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
fonte
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
fonte