Todos os produtos
Search
Central de documentação

Global Accelerator:Preserve client source IP

Última atualização: Sep 21, 2026

Ao usar o Global Accelerator (GA) para acelerar seus aplicativos, ative a preservação de IP do cliente para obter o endereço IP de origem. Para listeners da Camada 7 (HTTP/HTTPS), o campo X-Forwarded-For no cabeçalho da requisição HTTP fornece o endereço. Para listeners da Camada 4 (TCP/UDP), a obtenção é automática ou exige o suporte ao Proxy Protocol no seu serviço de backend, dependendo do tipo de serviço.

Nota

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

Listeners HTTP e HTTPS

Método

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

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

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 dependendo do seu 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 os registros X-Forwarded-For.

    Se a saída incluir --with-http_realip_module, o módulo 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'
    
    O http_realip_module está disponível desde o Nginx 1.0.4 (2011). Caso use uma versão mais antiga, faça backup da sua configuração e atualize o Nginx.
    Caso o http_realip_module não esteja instalado, recompile o Nginx com o módulo ou reinstale o Nginx usando um gerenciador de pacotes como o yum.
  2. Edite o arquivo de configuração do Nginx. Execute nginx -t para encontrar o caminho do arquivo. O caminho 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 de origem do cliente.

    Verifique o log de acesso do Nginx para confirmar a obtenção bem-sucedida do endereço IP de origem do cliente.

    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 endereço IP de origem do cliente.

    Neste exemplo, o caminho padrão do arquivo de log do Nginx é <!--@code Mercury{"id":"f7_trade"}-->/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 a sobrescrita de entradas com endereços IP de origem do cliente pelos logs de health check, visualize várias entradas de log por vez ou aumente temporariamente o intervalo do health check.

Listeners TCP

Métodos

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

Os métodos com suporte variam de acordo com o tipo de serviço de backend.

  • Automatic: O GA encaminha o endereço IP de origem do cliente diretamente para o serviço de backend, que recebe o endereço IP original.

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

    O que é o Proxy Protocol?

    O Proxy Protocol é um protocolo que encaminha as informações originais de conexão de rede do cliente de um servidor proxy para um servidor de backend.

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

    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 no início dos dados encaminhados para o servidor de backend. O servidor de backend pode então analisar esse cabeçalho para obter as informações originais, como o endereço IP de origem, a porta de origem e o protocolo.

    Isso permite ao servidor de backend realizar registros de log, controle de acesso e monitoramento de tráfego mais precisos.

    Importante
    • O Proxy Protocol exige suporte tanto do servidor proxy quanto do servidor de backend para o funcionamento correto. Caso o seu servidor de backend não consiga analisar o Proxy Protocol, a ativação desse recurso provavelmente causará erros de análise e afetará a disponibilidade do serviço.

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

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

Alibaba Cloud backend services

Tipo de serviço de backend

Suporte à preservação de IP

Métodos com suporte

Instância ECS

Com suporte

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

  • Automatic

  • Proxy Protocol

Application Load Balancer (ALB)

Sem suporte

Não aplicável

Network Load Balancer (NLB)

Com suporte

  • Automatic (com suporte apenas quando o servidor de backend da instância NLB é uma instância ECS ou uma ENI)

  • Proxy Protocol

Classic Load Balancer (CLB)

Com suporte

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

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

  • Os servidores de backend da sua instância CLB são instâncias ECS implantadas em uma rede clássica.

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

  • Automatic (com suporte apenas quando o servidor de backend da instância CLB é uma instância ECS ou uma ENI)

  • Proxy Protocol

Object Storage Service (OSS)

Sem suporte

Não aplicável

Elastic Network Interface (ENI)

Com suporte

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

  • Automatic

  • Proxy Protocol

Custom private IP

Com suporte

Proxy Protocol

Alibaba Cloud Public IP

Aviso

Caso um endpoint seja um IP público do Alibaba Cloud, desvincular o IP público da instância original e vinculá-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 o gerente da sua conta.

Anexado a uma instância ECS do tipo VPC

Com suporte

  • Automatic

  • Proxy Protocol

Anexado a uma instância NLB

Com suporte

  • Automatic (com suporte 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

Sem suporte

Não aplicável

Anexado a uma instância CLB privada

Com suporte

  • Automatic (com suporte apenas quando o servidor de backend da instância CLB é uma instância ECS ou uma ENI)

  • Proxy Protocol

Anexado a uma ENI

Com suporte

  • Automatic

  • Proxy Protocol

Anexado a um gateway NAT público

Com suporte

Proxy Protocol

External backend services

Tipo de serviço de backend

Suporte à preservação de IP

Métodos com suporte

Custom public IP

Com suporte

Proxy Protocol

Custom Domain Name

Com suporte

Nota

Caso um cliente acesse o GA por meio de um endereço IP acelerado IPv6, ou caso o GA se comunique com o serviço de backend via IPv6, use o Proxy Protocol para obter o endereço IP de origem do cliente.

Procedimento

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

Automatic retrieval

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

    1. Acesse o console do Global Accelerator (GA).

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

    3. Na aba Listener, encontre o listener TCP de destino 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.

      Caso o serviço de backend esteja implantado no Alibaba Cloud, o Retrieve Client IP Address é definido como Automatically Retrieve Client IP por padrão.

      Defina Preserve Client IP como Preserve. Caso um cliente IPv6 acesse o serviço de backend, selecione Proxy Protocol como o 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. O caminho padrão geralmente é /etc/nginx/nginx.conf.

    Nota

    Para processar tráfego HTTP ou HTTPS, o servidor Nginx precisa ter suporte ao módulo http{}. Para processar tráfego TCP, também precisa 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. Compile e instale esse módulo para usá-lo.

    # 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 de origem do cliente.

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

      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 endereço IP de origem do cliente.

      • 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 confirmar o endereço IP de origem do cliente.

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

      [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. Acesse o console do Global Accelerator (GA).

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

    3. Na aba Listener, encontre o listener TCP de destino 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.

      Caso o serviço de backend esteja implantado fora do Alibaba Cloud, o Retrieve Client IP Address é 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. O caminho padrão geralmente é /etc/nginx/nginx.conf, mas o caminho real depende do seu ambiente.

    Nota

    Para processar tráfego HTTP ou HTTPS, o servidor Nginx precisa ter suporte ao módulo http{}. Para processar tráfego TCP, também precisa 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. Compile e instale esse módulo para usá-lo.

    # 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 de origem do cliente.

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

    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 endereço IP de origem do cliente.

    • 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 de origem do cliente, ative o recurso Preserve Client IP. Para listeners UDP, esse recurso oferece suporte apenas ao método Automatically Retrieve Client IP, no qual o GA encaminha o endereço IP de origem do cliente diretamente para o serviço de backend.

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

  • O GA oferece suporte apenas a instâncias com pagamento conforme o uso.

    Caso a sua instância GA com pagamento conforme o uso não ofereça suporte à ativação da client IP preservation para listeners UDP, a versão da instância pode ser incompatível com esse recurso. Para usá-lo, entre em contato com o gerente da sua conta e solicite uma atualização da instância.

  • Há 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 o gerente da sua conta.

  • Os servidores de backend obtêm endereços IP de origem apenas 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 dependendo do seu ambiente.

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

    1. Acesse o console do Global Accelerator (GA).

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

    3. Na aba Listener, encontre o listener UDP de destino 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.

      O Retrieve Client IP Address tem Automatic como padrão.

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

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

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

    Nota

    Para processar tráfego UDP, o servidor Nginx precisa 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. Compile e instale esse módulo para usá-lo.

    #...
    # 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 de origem do cliente.

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

      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 endereço IP de origem do cliente.

      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 confirmar o endereço IP de origem do cliente.

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

      [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 caso o servidor de backend não consiga registrar ou processar o cabeçalho X-Forwarded-For.

  • Para um listener TCP:

    • Caso o seu serviço de backend esteja implantado no Alibaba Cloud, a preservação do endereço IP do cliente não funciona se a instância de backend (ou a instância associada ao Elastic IP Address - EIP) não estiver em uma VPC.

    • Caso o seu serviço de backend esteja implantado fora do Alibaba Cloud, o servidor de backend precisa ter suporte ao Proxy Protocol para obter o endereço IP do cliente. Caso contrário, o recurso não funciona.

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

    • Caso um cliente IPv6 acesse um serviço de backend IPv4, o servidor de backend precisa ter suporte ao Proxy Protocol para obter o endereço IP do cliente. Caso contrário, o recurso não funciona.

  • Para um listener UDP, a preservação do endereço IP do cliente não funciona caso um cliente IPv6 acesse 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, encontre a instância Global Accelerator de destino e, na coluna Submit, clique em Actions.

  2. Na aba Configure Listener, encontre o listener de destino e, na coluna Listeners, clique em Actions.

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

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

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

Obtenção do IP do cliente na tradução de 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 requisição HTTP.

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

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

Documentos relacionados

Console

  • Como alternativa, use o recurso access log do GA. Crie um log de acesso para o grupo de endpoints e os logs coletados serão entregues a um Logstore do Simple Log Service (SLS) na mesma região. O IP de origem do cliente fica disponível no campo client_ip na aba Proxy Protocol do Logstore.

  • Para mais informações sobre a configuração e as considerações para serviços de backend em um grupo de endpoints, consulte Endpoint groups and endpoints e Add and manage endpoint groups for smart routing listeners.

API

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