Подскажите, пожалуйста, задеплоил приложение на облачный сервер, запустил сервер, 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 ошибку, в чём проблема?