last day (19 days later) » 

6:17 PM
5
Q: 502 Bad Gateway Docker proxy reverse con SSL para varios dominios

Abraham Najeraestoy trabajando con Docker usando nginx proxy reverse, me encontré con un error que probablemente sea de mi configuración que tengo al levantar contenedores. Al crear contenedores con subdominios por ejemplo: example.midominio.com, sin certificado ejecuta bien y levanta el contenedor al igual q...

 
intenta acceder al log con el comando docker logs <contenedor> esto dara mas pistas , por cierto te recomiendo usar docker-compose
 
Listo amigo los acabo de agregar
 
sospecho que tu virtualhost le falta agregar server { listen 80; listen 443;..
incluso puedes verificar tu proxypass te dejo el ejemplo
 
Agrege el contenido de mi default.conf y nginx.conf la verdad es tu tema nuevo para mi el agregar SSL a varios dominios con docker y nginx reverse normalmente trabajo con subdominios
 
debistes colocar texto, y dos , no tienes definido en el nginx.conf el https , la solucion es simple en tu default.conf en el https el proxypass debe ir al http de minubeya
 
6:17 PM
Como comento soy un poco nuevo en esto disculpa por los errores. Pero si lo cambio a http que no afectaría si quiero entrar por medio de https ya que le estoy agregando su certificado al dominio minubeya? Cómo definiría el https en mi nginx.conf?
 
wopa
estas?
 
Si aqui me encuentro
muchas gracias por la ayuda amigo, se agradece mucho
 
primero en tu pregunta es sobre redes
tienes un servicio http donde tienes todas las urls
esta se encarga de hacer la redireccion a los otros sitios
esto se conoce como proxypass
es decir tendras una aplicacion con https donde todas tus solicitudes pasaran por alli
mientras tendras las otras que via proxy pass consultaran
te comento que tambien puedes acomodar todo eso a docker-compose
pero vamos a lo primero
cual es tu contenedor que recibe todas las peticiones?
el nginx padre
el nginx padre debe tener todos los proxy pass
asumo que es este
 
El de mi minubeya.mx es el contenedor que tiene el html
 
entonces es simple
supongo que la imagen que pase es el padre
 
6:22 PM
si asi es
 
bueno solo cambia el proxy_pass a http y listo
o lo defines en minubeya
minubeya no tiene el puerto 443 habilitado
que si me dices a mi puede estar bien dependiendo de tu infraestructura
 
Ok, me acabo de revolver jaja
ya cambie el proxy pass a http
 
eso es todo!
 
y recargue el servicio de nginx
pero entro al navegadro
*navegador
y aun me aparece el error
 
intenta acceder modo incognito
 
6:25 PM
Igual me sale el mismo error
 
que dice el log?
 
184#184: *1812 connect() failed (111: Connection refused) while connecting to upstream, client: 189.213.49.81, server: minubeya.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://172.24.0.4:443/favicon.ico", host: "minubeya.com", referrer: "http://minubeya.com/"
https://itnext.io/run-multiple-isolated-web-applications-on-containers-with-a-single-ip-for-free-52d216f3e810

esto es lo que estoy realizando pero en vez de subdominios lo quiero hacer con dominios con su certificado cada uno
 
por http te deja?
 
igual manda el mismo error ya sea por https o http
 
como se llama el contenedor
en http://<contenedor_name>
es asi!
 
6:33 PM
ingreso al contenedor en el navegador:

http://minubeya.com/ https://minubeya.com/
y los dos me marca error de 502
 
espera!
una cosa es la url que accedes
y otra es acceder al contenedor via proxypass
trata de colocar en texto el nginx.conf y el default.conf
 
pero el nombre de mi contenedor se llama igual
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dc4671f55fc6 ecommercefya:v3 "docker-php-entrypoi…" 50 minutes ago Up 50 minutes 80/tcp, 443/tcp minubeya.com
5e7393af231a ecommercefya:v3 "docker-php-entrypoi…" 2 days ago Up 2 days 80/tcp micomya.mx
6d63d9cb989d jwilder/nginx-proxy "/app/docker-entrypo…" 4 days ago Up 4 days 0.
 
docker run -d --name example.midominio.com ...
tienes otro --name nginx-proxy
 
Si es el que controla todo, minubeya.com y mi comya.mx son los contenedores que tienen el html
es como lo estoy trabajando como en la url de arriba
ya que cuando levanto un contenedor sin SSL como mi comya.mx carga perfectamente el html, pero al ponerle los certificados para SSL como en minubeya.com me sale el error de 502
 
docker exec -it <id_contenedor_nginx_padre> /bin/bash
intenta acceder al contenedor
y vamos a hacerle ping desde adentro
 
6:41 PM
ok, ya estoy dentro
 
verifica que esten los certificados ssl
ls /etc/nginx/certs
 
si ahí estan
 
los de minubeya?
ahora intenta hacer ping minubeya,com probablemente lo escribi mal
 
si así es, los 3 archivos: el chain.pem, el key y el crt
 
pero estan tal cual como en el default.conf?
 
6:45 PM
si asi es
ping minubeya.com
PING minubeya.com (172.24.0.4) 56(84) bytes of data.
64 bytes from minubeya.com.nginx-proxy (172.24.0.4): icmp_seq=1 ttl=64 time=0.098 ms
64 bytes from minubeya.com.nginx-proxy (172.24.0.4): icmp_seq=2 ttl=64 time=0.068 ms
64 bytes from minubeya.com.nginx-proxy (172.24.0.4): icmp_seq=3 ttl=64 time=0.068 ms
64 bytes from minubeya.com.nginx-proxy (172.24.0.4): icmp_seq=4 ttl=64 time=0.079 ms
64 bytes from minubeya.com.nginx-proxy (172.24.0.4): icmp_seq=5 ttl=64 time=0.069 ms
64 bytes from minubeya.com.nginx-proxy (172.24.0.4): icmp_seq=6 ttl=64 time=0.068 ms
 
entonces el problema es tu default.conf
intenta abrirlo
y mira si tiene el cambio del proxy_pass
si no lo tiene, tu lo puedes modificar
 
# minubeya.com
upstream minubeya.com {
## Can be connected with "nginx-proxy" network
# minubeya.com
server 172.24.0.4:443;
}
server {
server_name minubeya.com;
listen 443 ssl http2 ;
access_log /var/log/nginx/access.log vhost;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/minubeya.com.crt;
ssl_certificate_key /etc/nginx/certs/minubeya.com.key;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/certs/minubeya.com.chain.pem;
aqui es donde le quite el https al http
 
es proxy_pass http:minubeya.com; cierto?
 
intenta algo como http:minubeya.com/
editalo alli e intenta acceder
 
6:49 PM
igual sale el 502 bad gateway
entre en el modo incognito
 
mira esta respuesta que di
3
A: GitLab Docker y diferentes contenedores ¿posible virtualhost?

JackNavaRowAgrega a tu docker-compose tu servidor nginx para que haga el proxy inverso. Lo primero, crea tu virtualhost.conf se deberia encontrar en la raiz junto con el docker-compose.yml : worker_processes 1; events { worker_connections 1024; } http { sendfile on; upstream server_redmine{ ...

tu nginx padre es algo como
worker_processes 1;

events { worker_connections 1024; }

http {

    sendfile on;

    upstream server_minubeya{
        server minubeya.com;
    }

    client_max_body_size 5M;
   server {
server_name minubeya.com;
listen 443 ssl http2 ;
access_log /var/log/nginx/access.log vhost;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/minubeya.com.crt;
ssl_certificate_key /etc/nginx/certs/minubeya.com.key;
ssl_stapling on;
ssl_stapling_verify on;
joder lo teniamos en la nariz y no lo veiamos
tu error es en el upstream, alli va al nombre que le quieres dar
y en server va el contenedor
ese nombre artistico uqe le diste deber ir en el proxy pass
 
upstream minubeya.com {
## Can be connected with "nginx-proxy" network
# minubeya.com
server minubeya.com;
}
quedaria asi?
 
si, pero trata de que no sea el mismo nombre, para evitar confusiones
yo haria upstream server_minubeya.com {
 
ok, lo modifico y lo pruebo
 
hazlo por vim deberia funcionar. eso espero, le estoy rezando a la hada de la programacion
se que es configuracion de virtualhost, y nginx no se mucho se mas apache2
 
6:58 PM
perfecto!!!!
me funciono!!
el hada de la programacion nos salvo!
 
genial, por favor necesito que coloques en texto la configuracion de nginx
para poderte ayudar!
para colocar la respuesta, hay pocas preguntas de docker
 
Si! muchisimas gracias! estaré aprendiendo de esto!, si es que docker es muy complejo y no encontraba una solución como tal
 
es que no era docker, la verdad hicistes todo bien
solo es configuracion de nginx
igual vendras pronto por problemas de CORS xD
 
ok, entonces tambien dejare el default.conf como volumen de host para mi contenedor, porque esta configuración la hace automaticamente al levantar un nuevo contenedor
jajaja bueno ya estare preguntandote de nuevo! de verdad muchas gracias!
 
la idea es que tu balanceador tenga tantos upstream
como docker
necesiro que coloques los texto, para poder responder la verdad tu pregunta es muy buena y completa
asi podre explicarte como hacerlo con docker-compose
 
7:05 PM
Ok, entonces deja edito nuevamente
 
y de paso te doy la bienvenida al sitio! como observaste tu pregunta fue bien recibida tambien te recomiendo hacer el recorrido
 
Muchas gracias!
 
Oye aprovechando, conoces el contenedor docker con poste.io?
 
@AbrahamNajera no :(
@AbrahamNajera supomgo que te daras cuenta que las imagenes no cargan fijate en la otra pregunta que te envie
debes agregar esto
 
7:08 PM
oh ciertooooo
no me habia percatado
 
    proxy_set_header Host $http_host/;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Scheme $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect    off;
    add_header Pragma "no-cache";
    add_header Cache-Control "no-cache";
 
Esto donde iría?
 
3
A: GitLab Docker y diferentes contenedores ¿posible virtualhost?

JackNavaRowAgrega a tu docker-compose tu servidor nginx para que haga el proxy inverso. Lo primero, crea tu virtualhost.conf se deberia encontrar en la raiz junto con el docker-compose.yml : worker_processes 1; events { worker_connections 1024; } http { sendfile on; upstream server_redmine{ ...

mira la resuesta como esta esructurado
 
ah ok, ya lo he agregado
 
y la pregunta -.-
 
7:12 PM
la estoy corriendo jaja
 
y falta agregar el cors en tu server mombaya
alli la explicacion
server {
listen 80;
server_name mobaya;

location / {
# Loadbalance
proxy_pass http://pio-prediction-server;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
bueno lee un poco
 
Listo ya corregi la pregunta quitando las imágenes y poniendo el texto
 
genial, voy a editarla para hacer la pregunta un poco mas comprensible
 
Ok muchas gracias! te lo agradezco mucho leere el articulo de los CORS
 

  last day (19 days later) »