502 Bad Gateway с NuxtJS и NGINX Proxy Companion

Я пытаюсь настроить прокси с компаньоном прокси NGINX, но сталкиваюсь с ошибкой 502 Bad Gateway ...

Вот мой 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

Dockerfile:

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" ]

И прокси показывает это в журналах:

*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/"

И сгенерированный conf:

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;
        }
}

Есть ли у кого-нибудь идеи?

спасибо

0
задан 2 September 2021 в 13:28
2 ответа

Ваше определение портов неверно. Вы сопоставляете порт 80 из контейнера с портом 8000 на хосте, но ваш контейнер предоставляет порт 8000.

ports:
  - "80:8000"

Или, если вы хотите сохранить порт 8000:

ports:
  - "8000"
0
ответ дан 2 September 2021 в 13:57

Решено: я забыл подключить прокси к сети веб-прокси....

0
ответ дан 2 September 2021 в 19:02

Теги

Похожие вопросы