DockerCompones, Nginx, Resoledor no funciona -- docker campo con nginx campo con docker-compose campo con nginx-reverse-proxy camp Relacionados El problema

Dockercompose, Nginx, Resolver not working


3
vote

problema

Español

Yo uso un contenedor de Nginx con esta configuración:

  set $ui http://ui:9000/backend; resolver 127.0.0.11 valid=5m; proxy_pass $ui;   

Esto es necesario, porque el contenedor "UI" no necesitará necesariamente cuando se inicia NGINX. Esto evita el error "Host no encontrado en la corriente arriba ...".

Pero ahora obtengo un 404 incluso cuando el contenedor de interfaz de usuario está en funcionamiento (están ambos en la misma red definidos en el Docker-Compose.yml). Cuando esté proxy sin la variable, sin el resolutor y inicie primero el contenedor de la interfaz de usuario, todo funciona.

Ahora estoy buscando por qué Docker está fallando en resolverlo. ¿Podría tal vez agregar manualmente una ruta falsa a http: / / ui que se reemplaza cuando se inicia el contenedor de ui-contenedor? ¿Dónde sería eso? O puedo arreglar el resolutor?

Original en ingles

I use an nginx container with this config:

set $ui http://ui:9000/backend; resolver 127.0.0.11 valid=5m; proxy_pass $ui; 

This is needed, because the "ui" container wont necessarly be up when nginx starts. This avoids the "host not found in upstream..." error.

But now I get a 404 even when the ui-container is up and running (they are both in the same network defined in the docker-compose.yml). When I proxy pass without the variable, without the resolver and start the ui container first, everything works.

Now I am looking for why docker is failing to resolve it. Could I maybe manually add a fake route to http://ui which gets replaced when the ui-container starts? Where would that be? Or can I fix the resolver?

           
 
 

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

La respuesta es como en esta publicación:

https://stackoverflow.com/a/52319161/3093499

El cambio solo está colocando la variable de resolución y establezca en el cuerpo del servidor en lugar de la ubicación.

 

The answer is like in this post:

https://stackoverflow.com/a/52319161/3093499

Only change is putting the resolver and set variable into the server-body instead of the location.

 
 
0
 
vote

Primero debe asegurarse de tener el puerto en el archivo DOCHER File DOCKEND de UI con EXPOSE 9000 . Luego va a querer tener esto como su configuración:

  http {   upstream ui {     server ui:9000;   }    server {     # whatever port your nginx reverse proxy is listening on.     listen 80;      location / {       proxy_pass http://ui/backend;     }   }    
 

First you need to make sure that you have the port in the ui backend Dockerfile with EXPOSE 9000. Then you're going to want to have this as your config:

http {   upstream ui {     server ui:9000;   }    server {     # whatever port your nginx reverse proxy is listening on.     listen 80;      location / {       proxy_pass http://ui/backend;     }   }  
 
 
   
   

Relacionados problema

1  Cambie el encabezado de host después de que responda el servidor Backend  ( Change the host header after the backend server responds ) 
Tengo una configuración de proxy para recibir una solicitud de cliente para www.example.com desde externa.example.com (www.example.com es una pestaña en exter...

0  ¿Cómo acoge múltiples sitios en NGINX en diferentes puertos?  ( How do host multiple sites on nginx on different ports ) 
Quiero acoger aplicaciones de múltiples nodejs en mi servidor. algo como este raw_detections4 Pero cuando voy a mi navegador, me doy cuenta de lo sigu...

0  Cómo configurar la ubicación de NGINX para un servicio múltiple  ( How to configure nginx location for multiple service ) 
Quiero configurar nginx para trabajar como un proxy inverso a otros microservicios. Soy capaz de reenviar la solicitud de NGINX a uno de los microservice ...

17  Cómo configurar el puerto X-reenviado de NGINX para ser el puerto de solicitud original  ( How to configure nginx x forwarded port to be the originally request port ) 
Estoy usando NGINX en un escenario de proxy inverso estándar, para aprobar todas las solicitudes a /auth a otro host, sin embargo, estoy tratando de usar pu...

0  nginx: el contenido mixto de NGINX se cargó a través de HTTPS  ( Nginx nginx mixed content was loaded over https ) 
Estamos usando NGINX como Pase Proxy en los Kubernetes donde: pod -> service -> nginx -> ingress Por ejemplo, cuando abrimos una URL - "https://acme-n...

2  Usando Nginx como proxy inversa a AWS S3 Bucket redirigiéndome a https://aws.amazon.com/s3/  ( Using nginx as reverse proxy to aws s3 bucket redirecting me to https aws amaz ) 
Tengo un servidor NGINX utilizado como proxy inverso a varias instancias de EC2. Ahora tengo un cubo S3 para el alojamiento de sitios web estático ya configur...

0  Establezca la opción de zócalo SO_RCVBUF usando NGINX como proxy inversa  ( Set socket option so rcvbuf using nginx as reverse proxy ) 
Estoy usando nginx como un proxy inverso. Para controlar el tamaño del búfer del zócalo en el zócalo de la escucha, agregué rcvbuf=1000000 a la Directiva de...

1  Combinación de usar NGINX como un proxy inverso con KeyCloak como el servidor ascendente falla  ( Combination of using nginx as a reverse proxy with keycloak as upstream server f ) 
Somos NGGINX Newbies e intentando reemplazar httpd con ella. Tenemos la siguiente configuración de NGINX: Generic<T>4 Esto funciona para proporcionar ac...

7  ¿Cómo puedo coincidir con cualquier camino que contenga un punto con NGINX?  ( How can i match any path containing a dot with nginx ) 
Estoy tratando de implementar un proxy usando la configuración de NGINX La idea es tener un servidor HTTP que aloje mi sitio web (mi spa). y tener una ruta ...

1  Subfiltro en Nginx  ( Sub filter in nginx ) 
Estoy usando NGINX para reenviar mi solicitud a la aplicación, si hubiera agregado un subfiltro para reenviar la URL de la aplicación en lugar del FQDN intern...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos