Задать вопрос
@Esm322

Как исправить ошибку 500 Internal Server Error nginx/1.26.2?

Подскажите, пожалуйста, задеплоил приложение на облачный сервер, запустил сервер, docker собрал образы у бэка и фронта. Но при переходе по ip-адресу выдаёт ошибку 500 Internal Server Error nginx/1.26.2
В папке фронта лежит docker файл и nginx.conf:
nginx.conf
server {
  listen 3000;

  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri/ /index.html=404;
  }

  include /etc/nginx/extra-conf.d/*.conf;
}

docker
FROM node:alpine as build

# WORKDIR /frontend

COPY package.json package-lock.json ./

RUN npm install

COPY . .

RUN npm run build

FROM nginx:stable-alpine

COPY --from=build /build /usr/share/nginx/html
COPY --from=build /nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 3000
CMD ["nginx", "-g", "daemon off;"]


И в папке с бэком есть docker файл
FROM node:19-alpine

WORKDIR /backend

COPY package.json package-lock.json ./

RUN npm install

COPY . ./

CMD npm start


И в общей папке приложения лежат nginx.conf и docker-compose:
docker
networks:
  dev:

services:
  nginx:
    image: nginx:stable-alpine
    ports:
      - "80:80"
    volumes:
      - './nginx.conf:/etc/nginx/nginx.conf'
    depends_on:
      - backend
      - frontend
    networks:
    - dev 

  backend:
    build:
      context: ./backend
    networks:
    - dev 

  frontend:
    build:
      context: ./frontend
    networks:
    - dev

nginx.conf
user  root;
worker_processes  1;

events {
}

http {
    server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass http://frontend:3000/;
        }

        location /api/ {
            proxy_pass http://backend:5000/;
        }
    }
}


Общая структура выглядит так:
Project
    backend
    frontend
    nginx.conf
    docker-compose.yaml


Всё собирается, но отдаёт 500 ошибку, в чём проблема?
  • Вопрос задан
  • 118 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
500 (ровно) это в 99% случаев необработанное исключение - в логе приложения можно найти подробности о том, где именно оно произошло.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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