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

1.3K
Visualizações
Cómo redirigir correctamente usando nginx-ingress en Kubernetes

Soy nuevo en kubernetes y nginx, y tengo problemas para entender cómo implementar Ingress (nginx-ingress) para mi caso de uso particular.

Quiero exponer la herramienta de administración pgadmin PostgreSQL de mi clúster.

Tengo otras aplicaciones expuestas a través de nginx-ingress desde mi clúster y me gusta que cada una cuelgue de su propio subdirectorio, por ejemplo:

  • myserver.com/compras/index.html
  • myserver.com/sales/index.html

Tengo un problema al hacer esto con pgadmin (aunque el problema sin duda se aplicaría igualmente a otras aplicaciones que se comportan de la misma manera)

Configuré una regla de ingreso para capturar y enrutar en consecuencia:

 annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/rewrite-target: /$2 rules: - http: paths: - path: /pgadmin4(/|$)(.*)

hace el enrutamiento y se golpea el backend.

Sin embargo, cuando pgadmin realiza una redirección, pierdo pgadmin/ de la URL de redirección, es decir

  • Envío un GET a myserver.com/pgadmin
  • Recibo un redireccionamiento 302 a myserver.com/login

mientras que quiero redirigir a:

  • myserver.com/ pgadmin /login

¿Qué piezas me faltan para lograr esto? Parece que debería ser simple.

Gracias

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Vale la pena mencionar que exponer muchos servicios diferentes usando el mismo nombre de dominio puede no ser la mejor idea en términos de seguridad. Muchos mecanismos de seguridad web se basan en el nombre de dominio para determinar qué es confiable y qué no. Por lo tanto, si se infringe uno de sus contenedores, otros servicios que comparten el mismo nombre de dominio podrían verse afectados.

De todos modos, el problema es con pgadmin. No es consciente de que se está sirviendo desde myserver.com/pgadmin/ (otra razón por la que tener varios servicios usando el mismo nombre de dominio no es la mejor idea), por lo que envía las redirecciones incorrectas.

Afortunadamente, la documentación de pgadmin ofrece una solución:

Si desea alojar pgAdmin en un subdirectorio en lugar de en la raíz del servidor, debe especificar la ubicación y configurar el encabezado X-Script-Name que le indica al contenedor pgAdmin cómo reescribir las rutas:

 server { listen 80; server_name _; location /pgadmin4/ { proxy_set_header X-Script-Name /pgadmin4; proxy_set_header Host $host; proxy_pass http://localhost:5050/; proxy_redirect off; } }

Así que parece que solo tiene que asegurarse de que las llamadas a pgadmin se envíen con el encabezado X-Script-Name /pgadmin4 , que es algo que el controlador de entrada nginx sabe cómo hacer .

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