502 Bad Gateway mit NuxtJS und NGINX Proxy Companion

502 Bad Gateway mit NuxtJS und NGINX Proxy Companion

Ich versuche, einen Proxy mit NGINX Proxy Companion einzurichten, erhalte jedoch den Fehler „502 Bad Gateway“ ...

Hier ist meine docker-compose.yml:

  nuxtjs:
    build:
      context: .
      dockerfile: docker/nuxtjs/Dockerfile
    environment:
      API_BASE_URL: fff.com
      VIRTUAL_HOST: fff.com
      LETSENCRYPT_HOST: fff.com
    ports:
      - "8000:80"
    container_name: ${NUXTJS_CONTAINER_NAME}
    volumes:
      - ./front:/usr/src/app/
      - /usr/src/app/node_modules

Docker-Datei:

FROM node:lts

# create destination directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# copy the app, note .dockerignore
COPY ./front /usr/src/app
RUN yarn

# build necessary, even if no static files are needed,
# since it builds the server as well
RUN yarn build

# expose 80 on container
EXPOSE 80

# set app serving to permissive / assigned
ENV NUXT_HOST=0.0.0.0
# set app port
ENV NUXT_PORT=80

# start the app
CMD [ "yarn", "dev" ]

Und der Proxy zeigt dies in den Protokollen an:

*40 no live upstreams while connecting to upstream, client: myip, server: fff.com, request: "GET /favicon.ico HTTP/2.0", upstream: "http://fff.com-upstream/favicon.ico", host: "xxx.com", referrer: "https://fff.com/"

Und die generierte Konferenz:

upstream fff.com {
        # Cannot connect to network 'webproxy' of this container
        # Fallback entry
        server 127.0.0.1 down;
}
server {
        server_name fff.com;
        listen 80 ;
        access_log /var/log/nginx/access.log vhost;
        # Do not HTTPS redirect Let'sEncrypt ACME challenge
        location ^~ /.well-known/acme-challenge/ {
                auth_basic off;
                auth_request off;
                allow all;
                root /usr/share/nginx/html;
                try_files $uri =404;
                break;
        }
        location / {
                return 301 https://$host$request_uri;
        }
}
server {
        server_name fff.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/fff.com.crt;
        ssl_certificate_key /etc/nginx/certs/fff.com.key;
        ssl_dhparam /etc/nginx/certs/fff.com.dhparam.pem;
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/nginx/certs/fff.com.chain.pem;
        add_header Strict-Transport-Security "max-age=31536000" always;
        include /etc/nginx/vhost.d/default;
        location / {
                proxy_pass http://fff.com;
        }
}

Hat jemand eine Idee?

Danke

Antwort1

Ihre portsDefinition ist falsch. Sie ordnen den Port 80 vom Container dem Port 8000 auf dem Host zu, aber Ihr Container stellt Port 8000 bereit.

ports:
  - "80:8000"

Oder, wenn Sie Port 8000 behalten möchten:

ports:
  - "8000"

Antwort2

Gelöst: Ich habe vergessen, den Proxy an das Webproxy-Netzwerk anzuschließen …

verwandte Informationen