Todos os produtos
Search
Central de documentação

Global Accelerator:Preserve client source IP

Última atualização: Jul 04, 2026

Ao usar o Global Accelerator (GA) para acelerar seus serviços de aplicação, ative a preservação de IP do cliente para obter o endereço IP do cliente de origem. Para listeners da camada 7 (HTTP/HTTPS), o endereço é obtido do campo X-Forwarded-For no cabeçalho da solicitação HTTP. Para listeners da camada 4 (TCP/UDP), a obtenção ocorre automaticamente ou exige que o serviço de backend suporte Proxy Protocol, dependendo do tipo de serviço de backend.

Nota

A preservação de IP do cliente tem suporte apenas para listeners de roteamento inteligente. Esse recurso não tem suporte por padrão em listeners de roteamento personalizado. Para ativá-lo em um listener de roteamento personalizado, entre em contato com seu gerente de conta.

Listeners HTTP e HTTPS

Método

Para listeners HTTP e HTTPS, o Global Accelerator (GA) usa o recurso Preserve Client IP para recuperar o IP do cliente de origem. Esse recurso vem ativado por padrão.

O GA armazena o endereço IP do cliente de origem no campo X-Forwarded-For do cabeçalho da solicitação HTTP. Configure o servidor de backend para obter esse endereço IP. O primeiro endereço IP listado no campo corresponde ao IP do cliente de origem.

X-Forwarded-For: <originating client IP, proxy server 1 IP, proxy server 2 IP, ...>

Procedimento

Este procedimento usa como exemplo um servidor Nginx 1.20.1 em execução no Alibaba Cloud Linux 3. As etapas podem variar conforme o ambiente.

  1. Execute nginx -V | grep http_realip_module para verificar se o http_realip_module está instalado. O Nginx usa esse módulo para analisar registros X-Forwarded-For.

    Se a saída incluir --with-http_realip_module, o módulo já está instalado. Prossiga para a próxima etapa.

    Exemplo de saída quando o http_realip_module está instalado

    nginx version: nginx/1.20.1
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
    built with OpenSSL 1.1.1k  FIPS 25 Mar 2021
    TLS SNI support enabled
    configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-google_perftools_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'
    
    Nota
    • O http_realip_module está disponível desde o Nginx 1.0.4 (2011). Caso use uma versão anterior, faça backup da configuração e atualize o Nginx.

    • Se o http_realip_module não estiver instalado, recompile o Nginx com o módulo ou reinstale-o usando um gerenciador de pacotes como yum.

  2. Edite o arquivo de configuração do Nginx. Execute nginx -t para localizar o caminho do arquivo. O padrão é /etc/nginx/nginx.conf.

    http {
      # Make sure that the log_format includes $http_x_forwarded_for. This variable records the value of X-Forwarded-For.
      log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
      
      # ...
    }
    
  3. Execute o comando sudo nginx -s reload para recarregar a configuração do Nginx.

  4. Obtenha o endereço IP do cliente de origem.

    Verifique o log de acesso do Nginx para confirmar se o endereço IP do cliente de origem foi recuperado com sucesso.

    Execute o comando tail -n <number_of_lines> <log_path>. Na entrada de log retornada, verifique o campo correspondente à variável $http_x_forwarded_for. O primeiro endereço IP é o IP do cliente de origem.

    Neste exemplo, o caminho padrão do arquivo de log do Nginx é /var/log/nginx/access.log.

    [root@izxxx ~]# tail -n 1 /var/log/nginx/access.log
    172.20xxx - - [17/Oct/2024:17:46:49 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0" "47.243.xxx"
    Nota

    Para evitar que logs de verificação de integridade sobrescrevam entradas contendo endereços IP do cliente de origem, visualize várias entradas de log por vez ou aumente temporariamente o intervalo de verificação de integridade.

Listeners TCP

Métodos

Para obter o endereço IP do cliente de origem, ative o recurso Preserve Client IP e selecione um método de obtenção.

Os métodos compatíveis variam conforme o tipo de serviço de backend.

  • Automático: O GA encaminha o endereço IP do cliente de origem diretamente para o serviço de backend. O endereço IP do cliente recuperado pelo servidor de backend corresponde ao IP do cliente de origem.

  • Proxy Protocol: O servidor de backend deve ter suporte a Proxy Protocol para obter o endereço IP do cliente de origem.

    O que é Proxy Protocol?

    Proxy Protocol é um protocolo usado para encaminhar informações originais de conexão de rede de um cliente de um servidor proxy para um servidor de backend.

    Normalmente, quando um servidor proxy encaminha uma solicitação do cliente, ele reescreve o cabeçalho da solicitação e substitui o endereço IP e a porta originais do cliente pelos seus próprios. Isso impede que o servidor de backend obtenha as informações de rede originais do cliente.

    Com o Proxy Protocol, o servidor proxy encapsula as informações originais de conexão do cliente em um cabeçalho Proxy Protocol e o adiciona antes dos dados encaminhados ao servidor de backend. O servidor de backend pode então analisar esse cabeçalho para obter as informações originais, como endereço IP de origem, porta de origem e protocolo.

    Isso permite que o servidor de backend realize registro de logs mais preciso, controle de acesso e monitoramento de tráfego.

    Importante
    • O Proxy Protocol requer suporte tanto do servidor proxy quanto do servidor de backend para funcionar corretamente. Se o servidor de backend não conseguir analisar o Proxy Protocol, ativar esse recurso provavelmente causará erros de análise e afetará a disponibilidade do serviço.

    • Os listeners do GA usam Proxy Protocol para transmitir informações originais de conexão (como IP de origem, IP de destino, porta de origem e porta de destino), prependendo-as ao fluxo de dados TCP. Esse processo não descarta nem sobrescreve nenhum dado existente.

    • O GA tem suporte apenas a Proxy Protocol v1, compatível somente com o protocolo TCP. Para mais informações, consulte The PROXY protocol.

Serviços de backend da Alibaba Cloud

Tipo de serviço de backend

Suporte à preservação de IP

Métodos compatíveis

Instância ECS

Compatível

A instância ECS deve estar em uma virtual private cloud (VPC) e seu grupo de segurança deve permitir tráfego de todos os endereços IP do cliente de origem.

  • Automático

  • Proxy Protocol

Application Load Balancer (ALB)

Não compatível

Não aplicável

Network Load Balancer (NLB)

Compatível

  • Automático (compatível apenas quando o servidor de backend da instância NLB é uma instância ECS ou uma ENI)

  • Proxy Protocol

Classic Load Balancer (CLB)

Compatível

O grupo de segurança do servidor de backend da instância CLB deve permitir tráfego de todos os endereços IP do cliente de origem.

Os servidores de backend não conseguem obter endereços IP do cliente de origem nos seguintes cenários:

  • Os servidores de backend da instância CLB são instâncias ECS implantadas em uma classic network.

  • O listener da instância CLB usa o protocolo HTTP ou HTTPS.

  • Automático (compatível apenas quando o servidor de backend da instância CLB é uma instância ECS ou uma ENI)

  • Proxy Protocol

Object Storage Service (OSS)

Não compatível

Não aplicável

Elastic Network Interface (ENI)

Compatível

O grupo de segurança da ENI deve permitir tráfego de todos os endereços IP do cliente de origem.

  • Automático

  • Proxy Protocol

Custom private IP

Compatível

Proxy Protocol

Alibaba Cloud Public IP

Aviso

Se um endpoint for um IP público da Alibaba Cloud, desanexar o IP público de sua instância original e anexá-lo a outra pode causar falha na preservação do IP do cliente e interromper o tráfego. Para restaurar esse recurso no endpoint, exclua e recrie o endpoint ou entre em contato com seu gerente de conta.

Anexado a uma instância ECS do tipo VPC

Compatível

  • Automático

  • Proxy Protocol

Anexado a uma instância NLB

Compatível

  • Automático (compatível apenas quando o servidor de backend da instância NLB é uma instância ECS ou uma ENI)

  • Proxy Protocol

Anexado a uma instância ALB

Não compatível

Não aplicável

Anexado a uma instância CLB privada

Compatível

  • Automático (compatível apenas quando o servidor de backend da instância CLB é uma instância ECS ou uma ENI)

  • Proxy Protocol

Anexado a uma ENI

Compatível

  • Automático

  • Proxy Protocol

Anexado a um NAT gateway público

Compatível

Proxy Protocol

Serviços de backend externos

Tipo de serviço de backend

Suporte à preservação de IP

Métodos compatíveis

Custom public IP

Compatível

Proxy Protocol

Custom Domain Name

Compatível

Nota

Se um cliente acessar o GA por meio de um endereço IP acelerado IPv6, ou se o GA se comunicar com o serviço de backend via IPv6, será necessário usar Proxy Protocol para obter o endereço IP do cliente de origem.

Procedimento

Este procedimento usa como exemplo um servidor Nginx 1.20.1 em execução no Alibaba Cloud Linux 3. As etapas podem variar conforme o ambiente.

Obtenção automática

  1. Ative a preservação de IP do cliente.

    1. Faça login no console do Global Accelerator (GA).

    2. Na página Instances, localize a instância GA desejada e clique em Configure Listener na coluna Actions.

    3. Na aba Listener, localize o listener TCP desejado e clique em Edit Listener na coluna Actions.

    4. Na página Configure Listener & Protocol, clique em Next.

    5. Na página Configure Endpoint Group, selecione Maintain na lista suspensa Preserve Client IP e clique em Next.

      Se o serviço de backend estiver implantado na Alibaba Cloud, Retrieve Client IP Address estará definido como Automatically Retrieve Client IP por padrão.

      Defina Preserve Client IP como Preserve. Se um cliente IPv6 acessar o serviço de backend, selecione Proxy Protocol como Method to Retrieve Originating Client IP.

    6. Na página Configuration Review, confirme a configuração e clique em Submit.

  2. Verifique o arquivo de configuração do Nginx.

    Execute o comando nginx -t para encontrar o caminho do arquivo de configuração. Normalmente, o caminho padrão é /etc/nginx/nginx.conf.

    Nota

    Para processar tráfego HTTP ou HTTPS, o servidor Nginx deve ter suporte ao módulo http{}. Para processar tráfego TCP, ele também deve ter suporte ao módulo stream{}.

    O módulo stream{} foi adicionado no Nginx 1.9.0 e não vem instalado por padrão. É necessário compilá-lo e instalá-lo para utilizar o módulo stream{}.

    # Process HTTP traffic
    http {
      # Default configuration
      log_format  main  '$remote_addr- $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
      access_log  /var/log/nginx/access.log  main;
      # Example: listener on port 80
      server {
            listen 80;
            #...
           }
    }
    # Process TCP traffic (add if needed)
    stream {
        log_format main_stream '$remote_addr - [$time_local] '
                            '"$protocol" $status $bytes_sent $bytes_received '
                            '"$session_time"';
        access_log  /var/log/nginx/stream_access.log  main_stream;
    # Example: listener on port 4000
        server {
            listen 4000;
            #...
        }
    }
  3. Obtenha o endereço IP do cliente de origem.

    • Método 1: Verifique o log do Nginx para confirmar o endereço IP do cliente de origem.

      Execute o comando tail -n <number_of_lines> <log_path>. Na entrada de log retornada, o primeiro endereço IP, correspondente à variável $remote_addr, é o IP do cliente de origem.

      • Para tráfego HTTP:

        Neste exemplo, o caminho do arquivo de log é /var/log/nginx/access.log.

        [root@xxx ~]# tail -n 1 /var/log/nginx/access.log
        47.243.xxx.xxx - [21/Oct/2024:14:01:06 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 xxx"
      • Para tráfego TCP:

        Neste exemplo, o caminho do arquivo de log é /var/log/nginx/stream_access.log.

        [root@iZrxxx      xxx]# tail -n 5 /var/log/nginx/stream_access.log
        121.40.xxx.xxx [24/Jan/2025:10:29:34 +0800] "TCP" 200 0 16 "3.217"
        121.40.xxx.xxx [24/Jan/2025:10:29:44 +0800] "TCP" 200 0 15 "2.935"
        121.40.xxx.xxx [24/Jan/2025:10:29:57 +0800] "TCP" 200 0 7 "4.908"
        121.40.xxx.xxx [24/Jan/2025:10:30:16 +0800] "TCP" 200 0 26 "10.474"
        121.40.xxx.xxx [24/Jan/2025:10:30:25 +0800] "TCP" 200 0 10 "3.368"
    • Método 2: Capture pacotes de dados para verificar o endereço IP do cliente de origem.

      Execute o comando tcpdump tcp port [listener_port] -n -X -s 0 para verificar nos pacotes de dados o endereço IP do cliente de origem.

      [root@iZrxxx ~]# tcpdump tcp port 4000 -n -X -s 0
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
      10:31:59.216390 IP 121.40.xxx.xxx.52352 > 172.20.106.148.terabase: Flags [S], seq 3468880686, win 65535, options [nop,nop,nop,nop,nop,nop,nop,nop,mss 1460,sackOK,TS val 1793314199 ecr 0,nop,wscale 9], length 0
              0x0000:  4500 0044 801a 4000 4006 36a9 7928 f41f  E..D..@.@.6.y(..
              0x0010:  ac14 6a94 cc80 0fa0 cec2 eb2e 0000 0000  ..j.............
              0x0020:  c002 ffff d173 0000 0101 0101 0101 0101  .....s..........
              0x0030:  0204 05b4 0402 080a 6ae3 cd97 0000 0000  ........j.......
              0x0040:  0103 0309                                 ....
      10:31:59.216419 IP 172.20.106.148.terabase > 121.40.xxx.xxx.52352: Flags [S.], seq 28697778872, ack 3468880687, win 65160, options [mss 1460,sackOK,TS val 1603313796 ecr 1793314199,nop,wscale 7], length 0
              0x0000:  4500 003c 0000 4000 4006 b6cb ac14 6a94  E..<..@.@.....j.
              0x0010:  7928 f41f 0fa0 cc80 ab0d 59b8 cec2 eb2f  y(........Y..../
              0x0020:  a012 fe88 841f 0000 0204 05b4 0402 080a  ................
              0x0030:  5f90 a084 6ae3 cd97 0103 0307             _...j.......

Proxy Protocol

  1. Ative a preservação de IP do cliente.

    1. Faça login no console do Global Accelerator (GA).

    2. Na página Instances, localize a instância GA desejada e clique em Configure Listener na coluna Actions.

    3. Na aba Listener, localize o listener TCP desejado e clique em Edit Listener na coluna Actions.

    4. Na página Configure Listener & Protocol, clique em Next.

    5. Na página Configure Endpoint Group, selecione Maintain na lista suspensa Preserve Client IP e clique em Next.

      Se o serviço de backend estiver implantado fora da Alibaba Cloud, Retrieve Client IP Address estará definido como Proxy Protocol por padrão.

      Na página Configure Endpoint Group, defina Preserve Client IP como Preserve.

    6. Na página Configuration Review, confirme a configuração e clique em Submit.

  2. Modifique o arquivo de configuração do Nginx conforme mostrado no exemplo abaixo e salve as alterações.

    Execute o comando nginx -t para encontrar o caminho do arquivo de configuração. Geralmente, o caminho padrão é /etc/nginx/nginx.conf, mas o caminho real depende do ambiente.

    Nota

    Para processar tráfego HTTP ou HTTPS, o servidor Nginx deve ter suporte ao módulo http{}. Para processar tráfego TCP, ele também deve ter suporte ao módulo stream{}.

    O módulo stream{} foi adicionado no Nginx 1.9.0 e não vem instalado por padrão. É necessário compilá-lo e instalá-lo para utilizar o módulo stream{}.

    # Process HTTP traffic
    http {
      # Add the $proxy_protocol_addr variable to the log format to record the originating client IP.
      log_format  main  '$proxy_protocol_addr - $remote_addr- $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';     
      access_log  /var/log/nginx/access.log  main;
      # Enable proxy_protocol parsing on the listener port (port 80 in this example).
      server {
        listen 80   proxy_protocol;
        #...
      }
    }
    # Process TCP traffic (add if needed)
    stream {
        # Add the $proxy_protocol_addr variable to the log format to record the originating client IP.
        log_format  main_stream  '$proxy_protocol_addr - $remote_addr - $protocol [$time_local] '
                                  '$status $bytes_sent $bytes_received $session_time';
        access_log /var/log/nginx/stream_access.log main_stream; 
       # Enable proxy_protocol parsing on the listener port (port 12345 in this example).
        server {
            listen 12345 proxy_protocol;
            #...
        }
    }
  3. Execute o comando sudo nginx -s reload para recarregar o arquivo de configuração do Nginx.

  4. Obtenha o endereço IP do cliente de origem.

    Verifique o log do Nginx para confirmar o endereço IP do cliente de origem.

    Execute o comando tail -n <number_of_lines> <log_path>. Na entrada de log retornada, o endereço IP correspondente à variável $proxy_protocol_addr é o IP do cliente de origem.

    • Para tráfego HTTP:

      Neste exemplo, o caminho do arquivo de log é /var/log/nginx/access.log.

      [root@xxx    ~]#  tail -n 1 /var/log/nginx/access.log
      47.243.xxx  - 47.251.xxx - - [21/Oct/2024:16:57:41 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0"
    • Para tráfego TCP:

      Neste exemplo, o caminho do arquivo de log é /var/log/nginx/stream_access.log.

      [root@i-xxx ~]# tail -n 1 /var/log/nginx/stream_access.log
      47.243   47.251    - TCP [23/Oct/2024:17:19:44 +0800] 200 0 1 0.000

Listeners UDP

Método

Para obter o endereço IP do cliente de origem, ative o recurso Preserve Client IP. Para listeners UDP, esse recurso tem suporte apenas ao método Automatically Retrieve Client IP, no qual o GA encaminha o endereço IP do cliente de origem diretamente para o serviço de backend.

Ao ativar Preserve Client IP para um listener UDP, aplicam-se as seguintes limitações:

  • Somente instâncias GA pay-as-you-go têm suporte.

    Se a instância GA pay-as-you-go não tiver suporte à ativação de client IP preservation para listeners UDP, a versão da instância pode não oferecer esse recurso. Para utilizá-lo, entre em contato com seu gerente de conta e solicite uma atualização da instância.

  • Esse recurso tem suporte apenas quando o Backend Service Type é ECS , ENI ou NLB . Para serviços de backend do tipo NLB, o recurso Preserve Client IP não vem ativado por padrão. Para usá-lo, entre em contato com seu gerente de conta.

  • Servidores de backend só conseguem obter endereços IP de origem de clientes da mesma versão de IP (IPv4 para IPv4 e IPv6 para IPv6).

Procedimento

Este procedimento usa como exemplo um servidor Nginx 1.20.1 em execução no Alibaba Cloud Linux 3. As etapas podem variar conforme o ambiente.

  1. Ative a preservação de IP do cliente.

    1. Faça login no console do Global Accelerator (GA).

    2. Na página Instances, localize a instância GA desejada e clique em Configure Listener na coluna Actions.

    3. Na aba Listener, localize o listener UDP desejado e clique em Edit Listener na coluna Actions.

    4. Na página Configure Listener & Protocol, clique em Next.

    5. Na página Configure Endpoint Group, selecione Maintain na lista suspensa Preserve Client IP e clique em Next.

      Retrieve Client IP Address está definido como Automatic por padrão.

    6. Na página Configuration Review, confirme a configuração e clique em Submit.

  2. Verifique o arquivo de configuração do Nginx.

    Execute o comando nginx -t para encontrar o caminho do arquivo de configuração. Normalmente, o caminho padrão é /etc/nginx/nginx.conf.

    Nota

    Para processar tráfego UDP, o servidor Nginx deve ter suporte ao módulo stream{}.

    O módulo stream{} foi adicionado no Nginx 1.9.0 e não vem instalado por padrão. É necessário compilá-lo e instalá-lo para utilizar o módulo stream{}.

    #...
    # Process UDP traffic (make sure to include this module)
    stream {
        log_format main_stream '$remote_addr - [$time_local] '
                            '"$protocol" $status $bytes_sent $bytes_received '
                            '"$session_time"';
        access_log  /var/log/nginx/stream_access.log  main_stream;
    # Example: UDP listener on port 4000
        server {
            listen 4000 udp;
            #...
        }
    }
  3. Obtenha o endereço IP do cliente de origem.

    • Método 1: Verifique o log do Nginx para confirmar o endereço IP do cliente de origem.

      Execute o comando tail -n <number_of_lines> <log_path>. Na entrada de log retornada, o primeiro endereço IP, correspondente à variável $remote_addr, é o IP do cliente de origem.

      Neste exemplo, o caminho do arquivo de log é /var/log/nginx/stream_access.log.

      [root@iZ2zxxx          ~]# tail -n 5 /var/log/nginx/stream_access.log
      47.251.xxx.xxx - [24/Jan/2025:13:37:43 +0800] "UDP" 200 0 12 "600.099"
      47.251.xxx.xxx - [24/Jan/2025:13:39:11 +0800] "UDP" 200 0 12 "600.088"
      47.251.xxx.xxx - [24/Jan/2025:13:39:28 +0800] "UDP" 200 0 14 "600.012"
      47.251.xxx.xxx - [24/Jan/2025:13:39:37 +0800] "UDP" 200 0 14 "600.009"
      47.251.xxx.xxx - [24/Jan/2025:13:41:04 +0800] "UDP" 200 0 14 "600.086"
    • Método 2: Capture pacotes de dados para verificar o endereço IP do cliente de origem.

      Execute o comando tcpdump udp port [listener_port] -n -X -s 0 para verificar nos pacotes de dados o endereço IP do cliente de origem.

      [root@iz2xxx ~]# tcpdump udp port 4000 -n -X -s 0
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
      14:04:06.047337 IP 47.251.xxx.xxx 55491 > 10.5.120.213.terabase: UDP, length 14
      0x0000: 4500 002a 6e1e 4000 4011 a221 2ffb 77ae  E..*n.@.@..!/w.
      0x0010: 0a05 78d5 d8c3 0fa0 0016 12fb 4865 6c6c  ..x.........Hell
      0x0020: 6f2c 2055 4450 3032 210a                  o, UDP02!.

FAQ

Solução de problemas na preservação de IP do cliente

  • Para um listener HTTP ou HTTPS, a preservação do endereço IP do cliente não funciona se o servidor de backend não conseguir registrar ou processar o cabeçalho X-Forwarded-For.

  • Para um listener TCP:

    • Se o serviço de backend estiver implantado na Alibaba Cloud, a preservação do endereço IP do cliente não funcionará caso a instância de backend, ou a instância associada ao Elastic IP Address (EIP), não esteja em uma VPC.

    • Caso o serviço de backend esteja implantado fora da Alibaba Cloud, o servidor de backend deve ter suporte a Proxy Protocol para obter o endereço IP do cliente. Caso contrário, esse recurso não funcionará.

      Quando a preservação do endereço IP do cliente está ativada, o Global Accelerator usa Proxy Protocol para encaminhar o IP do cliente. Se o servidor de backend não tiver suporte a Proxy Protocol, ele não conseguirá analisar corretamente o tráfego acelerado.

    • Se um cliente IPv6 acessar um serviço de backend IPv4, o servidor de backend deve ter suporte a Proxy Protocol para obter o endereço IP do cliente. Caso contrário, esse recurso não funcionará.

  • Para um listener UDP, a preservação do endereço IP do cliente não funciona se um cliente IPv6 acessar um serviço de backend IPv4.

Desativar a preservação de IP do cliente

Para listeners HTTP e HTTPS, a preservação do endereço IP do cliente vem ativada por padrão e não pode ser desativada.

Para listeners TCP e UDP, desative esse recurso no console seguindo estas etapas:

  1. Na página Instances, localize a instância Global Accelerator desejada e clique em Configure Listener na coluna Actions.

  2. Na aba Listeners, localize o listener desejado e clique em Edit na coluna Actions.

  3. Na etapa Configure Listener & Protocol, clique em Next.

  4. Na etapa Configure Endpoint Group, defina Preserve Client IP como Do Not Preserve e clique em Next.

  5. Na etapa Configuration Review, revise as configurações e clique em Submit.

Obtenção de IP do cliente na tradução IPv6 para IPv4

  • Para um listener HTTP ou HTTPS, o endereço IP do cliente tanto para clientes IPv4 quanto IPv6 está disponível apenas no campo X-Forwarded-For do cabeçalho da solicitação HTTP.

  • Para um listener TCP, apenas Proxy Protocol tem suporte para obter os endereços IP de clientes IPv6. Com esse método, o servidor de backend deve ter suporte a Proxy Protocol para recuperar o endereço IP do cliente. Caso contrário, o acesso pode falhar.

  • Para listeners UDP, não há suporte para obtenção de endereços IP de clientes IPv6.

Documentos relacionados

Console

API

Ao chamar essas operações de API, utilize o parâmetro EnableClientIPPreservation para o método automático e o parâmetro EnableProxyProtocol para o método Proxy Protocol.