Estoy trabajando en un proyecto con el contenedor AWS LIghtsail y me enfrento al siguiente problema.
Creé 3 contenedores docker:
-Puerto NGINX 80 -Puerto NodeJs 5000 -Puerto Cadvisor 8080
El servicio de contenedores de Lightsail le permite tener solo un puerto abierto desde el cual puede acceder a sus recursos, por esta razón utilicé el pase de proxy nginx para hacer que todos mis contenedores fueran accesibles en el puerto 80.
Mi problema es que cuando trato de llegar a $host/containers no carga recursos estáticos (CSS, JS, imágenes...).
Estas son mis configuraciones de nginx
events {}
http {
upstream node {
server ${NODE_HOST}:${NODE_PORT};
}
upstream cad {
server ${CAD_HOST}:${CAD_PORT};
}
server {
listen 80;
#proxy pass nodejs works
location / {
proxy_pass http://node;
}
#proxy pass cadvisor port8080 not work
location /containers/ {
proxy_pass http://cad;
proxy_redirect ~^/containers/ /cadvisor/containers/;
proxy_redirect ~^/docker/ /cadvisor/docker/;
}
}
}
#EV VAR
NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx
NODE_HOST=node
NODE_PORT=5000
CAD_HOST=cad
CAD_PORT=8080
Estaba siguiendo esta guía: https://www.awsgeek.com/How-To-Setup-an-Nginx-Reverse-Proxy-using-Amazon-Lightsail-Containers/
Solución del problema
Tratar:
location /containers/ {
alias /cadvisor/containers/;
}
location /docker/ {
alias /cadvisor/docker/;
}
location /containers/ {
proxy_pass http://cad;
}
y verifique sus registros después
No hay comentarios:
Publicar un comentario