Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

582
Visualizações
La anotación de fragmento de http de ingreso de nginx de kubernetes no tiene efecto

Estoy usando una expresión regular para extraer solo la IP de $http_x_origin_forwarded_for, porque viene junto con el puerto y solo necesito la IP para mi encabezado. Así que estoy usando la entrada de esta manera.

 ingress: enabled: true annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/ssl-redirect: "false" nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: /$1 nginx.ingress.kubernetes.io/backend-protocol: https nginx.ingress.kubernetes.io/http-snippet: | map $http_x_origin_forwarded_for $forwarded-for-ip { ~^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+):[0-9]+ $1; default ''; }; nginx.ingress.kubernetes.io/configuration-snippet: | proxy_set_header X-Forwarded-For $http_x_forwarded_for;

Y la salida en el lado del servidor es

 Header 'x-forwarded-for' = IP:PORT

Y basado en eso, mi aplicación Spring Boot devuelve este error:

 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Aug 13 06:55:21 UTC 2021 There was an unexpected error (type=Internal Server Error, status=500). Failed to parse address IP: PORT

También probé así

 ingress: enabled: true annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/ssl-redirect: "false" nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: /$1 nginx.ingress.kubernetes.io/backend-protocol: https nginx.ingress.kubernetes.io/configuration-snippet: | map $http_x_forwarded_for $real_ip { ~^(\d+\.\d+\.\d+\.\d+) $1; default $remote_addr; } proxy_set_header X-Forwarded-For $real_ip;

Pero tengo este error

 2021/08/14 11:58:54 [emerg] 19862#19862: "map" directive is not allowed here in /tmp/nginx-cfg920601764:940 nginx: [emerg] "map" directive is not allowed here in /tmp/nginx-cfg920601764:940 nginx: configuration file /tmp/nginx-cfg920601764 test failed
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Dependiendo de su versión de k8s, después de que Ingress salió de la versión beta ( apiVersion: networking.k8s.io/v1v1beta1 -> apiVersion: networking.k8s.io/v1 )

Es posible lograr lo que desea configurando los mapas de configuración. Con v1 ; los ingresos usan otro espacio de nombres, en este caso se llama ingress-nginx .

Agregue los siguientes mapas de configuración:

 apiVersion: v1 kind: ConfigMap metadata: name: ingress-nginx-controller namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx data: proxy-set-headers: "ingress-nginx/custom-headers" http-snippet: | map $http_x_forwarded_for $real_ip { ~^(\d+\.\d+\.\d+\.\d+) $1; default $remote_addr; } -- apiVersion: v1 kind: ConfigMap metadata: name: custom-headers namespace: ingress-nginx data: X-Forwarded-For: ${updated_x_trace_id}

Luego, todos los controladores de ingreso-nginx se verán afectados por este cambio.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda