Я создаю приложение с
- React-интерфейсом, встроенным в сайт c и обслуживаемым с NGINX.
- A nodeJS бэкэндом, на порту 8080
- База данных SQL, которую запрашивает сервер NodeJS. SQL на 3306.
docker -compose объединяет все вместе для простоты развертывания.
Я подозреваю, что проблема с моей реализацией nginx.
Ошибка, которую я получаю при попытке отправить на сервер с внешнего интерфейса, следующая:
xhr.js:178 OPTIONS http://localhost:8080/auth net::ERR_CONNECTION_REFUSED
Вот мой файл NGINX, помещенный в /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://dsw_api:8080;
}
}
Вот мой файл docker -compose.yml.
version: "3.7"
services:
sql:
container_name: dsw_sql
image: mysql
restart: always
command: --default-authentication-plugin=mysql_native_password
volumes:
- ./database:/docker-entrypoint-initdb.d
environment:
- MYSQL_PASSWORD=${SQL_PASS}
- MYSQL_ROOT_PASSWORD=${SQL_PASS}
- MYSQL_DB=${SQL_DB}
networks:
- dsw
ports:
- "3306:3306"
api:
container_name: dsw_api
image: node:11
volumes:
- ./back:/app
working_dir: /app
env_file: .env
networks:
- dsw
command: npm start
ports:
- "8080:8080"
depends_on:
- sql
restart: always
client:
container_name: dsw_client
build: ./front
environment:
- REACT_APP_API_PORT=${REACT_APP_API_PORT}
- REACT_APP_API_HOST=${REACT_APP_API_HOST}
- SKIP_PREFLIGHT_CHECK=${SKIP_PREFLIGHT_CHECK}
ports:
- 80:80
networks:
- dsw
depends_on:
- api
- sql
restart: always
networks:
dsw:
driver: bridge