Рейтинг:0

502 Bad Gateway с NuxtJS и прокси-компаньоном NGINX

флаг cn

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

Вот мой docker-compose.yml:

  нустджс:
    строить:
      контекст: .
      dockerfile: докер/nuxtjs/Dockerfile
    среда:
      API_BASE_URL: fff.com
      ВИРТУАЛЬНЫЙ_ХОСТ: fff.com
      LETSENCRYPT_HOST: fff.com
    порты:
      - "8000:80"
    имя_контейнера: ${NUXTJS_CONTAINER_NAME}
    тома:
      - ./фронт:/usr/src/приложение/
      - /usr/src/приложение/node_modules

Докерфайл:

ОТ node:lts

# создать каталог назначения
ВЫПОЛНИТЬ mkdir -p /usr/src/app
РАБОЧИЙ КАТАЛОГ /usr/src/app

# скопируйте приложение, обратите внимание на .dockerignore
КОПИРОВАТЬ ./front/usr/src/приложение
пряжа RUN

# сборка необходима, даже если статические файлы не нужны,
# так как он также строит сервер
наращивание пряжи RUN

# выставляем 80 на контейнер
ЭКСПОЗИЦИЯ 80

# установить для приложения разрешение/назначение
ENV NUXT_HOST=0.0.0.0
# установить порт приложения
ОКРУГ NUXT_PORT=80

# запустить приложение
CMD [ "пряжа", "dev" ]

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

*40 при подключении к восходящему потоку нет живых восходящих потоков, клиент: myip, сервер: fff.com, запрос: «GET /favicon.ico HTTP/2.0», восходящий поток: «http://fff.com-upstream/favicon.ico» , хост: "xxx.com", реферер: "https://fff.com/"

И сгенерированная конфа:

вверх по течению fff.com {
        # Не удается подключиться к сетевому «веб-прокси» этого контейнера
        # Резервная запись
        сервер 127.0.0.1 не работает;
}
сервер {
        имя_сервера fff.com;
        слушать 80 ;
        access_log /var/log/nginx/access.log vhost;
        # Не перенаправлять HTTPS вызов Let'sEncrypt ACME
        расположение ^~ /.well-known/acme-challenge/ {
                auth_basic выключен;
                auth_request выключен;
                позволять все;
                корень /usr/share/nginx/html;
                try_files $uri = 404;
                сломать;
        }
        место расположения / {
                вернуть 301 https://$host$request_uri;
        }
}
сервер {
        имя_сервера fff.com;
        слушать 443 ssl http2 ;
        access_log /var/log/nginx/access.log vhost;
        ssl_session_timeout 5 м;
        ssl_session_cache общий: SSL: 50 м;
        ssl_session_tickets выключен;
        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 включен;
        ssl_stapling_verify включен;
        ssl_trusted_certificate /etc/nginx/certs/fff.com.chain.pem;
        add_header Strict-Transport-Security "max-age=31536000" всегда;
        включить /etc/nginx/vhost.d/default;
        место расположения / {
                прокси_пароль http://fff.com;
        }
}

У кого-нибудь есть идея?

Благодарность

Michael Hampton avatar
флаг cz
Что такое `fff.com-upstream`?
FindL avatar
флаг cn
Честно говоря, я не знаю, он был сгенерирован nginx-компаньоном, думаю,
Рейтинг:0
флаг in

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

порты:
  - "80:8000"

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

порты:
  - "8000"
FindL avatar
флаг cn
Я только что отредактировал Dockerfile, чтобы выставить 80 в контейнере. Все еще не работает :/ Та же ошибка
Рейтинг:0
флаг cn

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.