Я думаю, что все настроил правильно в моем nginx конфиге, который встроен в docker -compose.yml. Однако из хвостовых журналов nginx видно, что
*1 directory index of "/var/www/html/" is forbidden
Это приводит к 403 запрещенной странице. Я думаю, что правильно настроил разрешения для www-data пользователя, но, возможно, нет.
Структура каталогов:
src/
- docker-compose.yml
- .gitignore
backend
src
- Dockerfile
- package.json
- .gitignore
data
nginx
- nginx.conf
frontend
src
- Dockerfile
- package.json
- .gitignore
docker -составить:
#docker-compose.yml
version: '3'
services:
frontend:
build: ./frontend
volumes:
- ./data/nginx/:/etc/nginx/conf.d
ports:
- 8080:80
depends_on:
- backend
backend:
build: ./backend
ports:
- 3000:3000
depends_on:
- db
db:
image: postgres:latest
restart: always
environment:
POSTGRES_USER: example
POSTGRES_PASSWORD: example1234
POSTGRES_DB: example
ports:
- 5432:5432
nginx .conf:
server {
listen 80;
server_name example;
location / {
root /var/www/html/;
index index.html;
autoindex on;
}
location /frontend {
proxy_pass http://example:8080;
try_files $uri /public/index.html;
}
location /backend {
proxy_pass http://example:3000;
}
location /db {
proxy_pass http://example:5432;
}
}
Любая помощь приветствуется, спасибо.
Обновлены разрешения:
ls -l / var / www /
total 4
drwxrwxr-x 6 root www-data 4096 Feb 15 15:44 html
ls -l / var / www/html/
total 200
drwxrwxrwx 3 root www-data 4096 Feb 15 15:44 backend
drwxrwxrwx 3 root www-data 4096 Feb 15 14:25 data
-rw-rw-r-- 1 root www-data 736 Feb 15 15:44 docker-compose.yml
drwxrwxrwx 6 root www-data 4096 Feb 15 15:44 frontend
-rw-rw-r-- 1 root www-data 186352 Feb 15 15:44 package-lock.json
Обновление: исправлена ошибка 403 путем правильного указания индекса. html файл внутри /frontend/public/index.html. Тем не менее все еще возникают ошибки при развертывании приложения на сервере.