Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

451
Vistas
¿Usar una instancia de oauth2_proxy con muchas rutas de acceso?

Estoy ejecutando una aplicación en un servicio de kubernetes en Azure y la configuré con un controlador de ingreso NGINX y una dirección IP pública con un FQDN. Todo esto funcionaba bien.
Luego quise agregar seguridad mediante el uso del proxy oauth2 para el inicio de sesión de terceros. Me gustaría mantener mi configuración en un controlador de entrada y un oauth2_proxy por espacio de nombres, con varias aplicaciones ejecutándose juntas. Como Azure no admite el uso de subdominios para esto, he estado usando rutas para enrutar a la aplicación correcta. He visto ejemplos, como este , sobre cómo usar un oauth2_proxy para múltiples subdominios, pero ¿es posible que funcione con múltiples rutas?

Configuración
Esta es la configuración de trabajo actual con una sola aplicación, ubicada en root / . Me gustaría cambiar a una ruta específica de la aplicación y la capacidad de ejecutar varias aplicaciones en diferentes rutas. p.ej. /my-app , /another-app etc.

oauth2-proxy-config.yaml

 config: existingSecret: oauth2-proxy-creds extraArgs: whitelist-domain: my-fqdn.uksouth.cloudapp.azure.com cookie-domain: my-fqdn.uksouth.cloudapp.azure.com email-domain: example.com provider: github ingress: enabled: true path: /oauth2 hosts: - my-fqdn.uksouth.cloudapp.azure.com annotations: kubernetes.io/ingress.class: nginx cert-manager.io/cluster-issuer: letsencrypt-prod # cert-manager cluster issuer set up for Let's Encrypt tls: - secretName: my-fqdn-tls # TLS generated by letsencrypt-prod hosts: - my-fqdn.uksouth.cloudapp.azure.com

Esto se instala con el siguiente comando helm

 helm upgrade oauth2-proxy --install stable/oauth2-proxy --namespace $NAMESPACE --reuse-values --values oauth2-proxy-config.yaml

app-ingress.yaml

 apiVersion: networking.k8s.io/v1beta1 # for versions before 1.14 use extensions/v1beta1 kind: Ingress metadata: name: nginx-ingress annotations: kubernetes.io/ingress.class: nginx cert-manager.io/cluster-issuer: letsencrypt-prod # nginx.ingress.kubernetes.io/rewrite-target: /$2 # Not working with the /oauth2 path and not needed when using root path for the app nginx.ingress.kubernetes.io/auth-url: "https://my-fqdn.uksouth.cloudapp.azure.com/oauth2/auth" nginx.ingress.kubernetes.io/auth-signin: "https://my-fqdn.uksouth.cloudapp.azure.com/oauth2/start?rd=https%3A%2F%2F$host$request_uri" spec: tls: - secretName: my-fqdn-tls hosts: - my-fqdn.uksouth.cloudapp.azure.com rules: - host: my-fqdn.uksouth.cloudapp.azure.com http: paths: - path: / # I would like to be able to use something like '/path1(/|$)(.*)' instead of root. backend: serviceName: my-app servicePort: 80
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Claro, es factible con múltiples rutas de acceso dentro de una sola definición de recurso de ingreso, consulte este ejemplo de trabajo:

 apiVersion: extensions/v1beta1 kind: Ingress metadata: labels: app: hello-worlds name: hello-wrolds annotations: cert-manager.io/issuer: selfsigned-issuer kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/auth-signin: "https://my-fqdn.uksouth.cloudapp.azure.com/oauth2/start?rd=$escaped_request_uri" nginx.ingress.kubernetes.io/auth-url: "https://my-fqdn.uksouth.cloudapp.azure.com/oauth2/auth" nginx.ingress.kubernetes.io/rewrite-target: /$1 spec: rules: - host: my-fqdn.uksouth.cloudapp.azure.com http: paths: - path: /my-app/(.*) backend: serviceName: my-app servicePort: 5000 - path: /another-app/(.*) backend: serviceName: another-app servicePort: 5000 tls: - hosts: - my-fqdn.uksouth.cloudapp.azure.com secretName: certmgr-selfsign-tls-requires-ouath

En mi caso, para ambos backends, la carpeta raíz de la aplicación es '/hello', por lo que la URL solicitada es respectivamente:

 https://my-fqdn.uksouth.cloudapp.azure.com/my-app/hello https://my-fqdn.uksouth.cloudapp.azure.com/another-app/hello
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda