Adiciona origem de IP ao cabeçalho nginx

1

Eu tenho uma situação com ip_hash no nginx para sessão pegajosa, onde ele sempre direciona o tráfego para apenas um servidor. O nginx está sendo executado por trás de um balanceador de carga do Google Cloud. Do nginx, ele acessa o balanceador de carga do Kubernetes da GC do meu aplicativo antes de ir para um deles.

Acredito que o IP de todos os usuários foi mascarado pelo balanceador de carga do GC, para que o nginx os reconheça como uma fonte.

Foi-me dito que podemos adicionar o IP original do usuário ao cabeçalho do nginx para que o balanceador de carga possa reconhecê-lo como usuário diferente. Como posso abordar um? Ou existe outra solução?

    
por spondbob 13.03.2018 / 07:31

3 respostas

1

Se você estiver usando o balanceamento de carga de rede (com pools de destino), o balanceador de carga manterá o IP. O que acontece é que o Kubernetes está alterando o IP de origem com os IPs do cluster / nó.

O Kubernetes possui um recurso para preservar o IP de origem do cliente. Você pode verificar nos documentos como preservar o IP de origem do cliente nos serviços com Type = LoadBalancer (balanceamento de carga de rede).

    
por 21.03.2018 / 16:34
0

Configure afinidade de sessão durante a configuração inicial de um pool de segmentação definindo-o como um dos seguintes valores não padrão para fornecer o nível desejado de sessão fixa :

CLIENT_IP

2-tuple hashing, which uses the source and destination IPs. All connections from a client will end up on the same instance regardless of protocol as long as the instance stays healthy.

CLIENT_IP_PROTO

3-tuple hashing, which uses the source and destination IPs and the protocol. All connections from a client will end up on the same instance as long as they use the same protocol and the instance stays healthy.

Lakshman Diwaakar refere-se à configuração de afinidade de sessão como sendo um conjunto de atributos não modificáveis "durante o criação de " um pool de destino. Sua análise das funcionalidades de balanceamento de carga do Cloud Compute disponíveis pode ser interessante para você analisar: Balanceador de carga de rede Vs HTTP (s) Balanceador de carga .

    
por 13.03.2018 / 16:23
0

Use o proxy_set_header para adicionar seu original de IP ao cabeçalho NGINX. Confira os seguintes exemplos:

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-Host $remote_addr;

proxy_set_header X-Forwarded-For $remote_addr;

Da mesma forma, você pode adicionar sua origem de IP ao cabeçalho NGINX.

    
por 26.03.2018 / 20:47