Нужна помощь с Docker и Nginx. У меня есть веб-сайт, где бэкэнд и фронтенд разделены (django и реагируют) на docker. Они работают без nginx, но сейчас я пытаюсь использовать nginx для прокси-ссылок на нужные порты.
С помощью ссылок ниже я могу получить доступ к двум частям моего сайта:
localhost8000 < this is backend of my website
localhost:3000 < this is frontend of my website
И ниже параметры, которые я хотел бы иметь
localhost\back < this is backend of my website
localhost\front < this is frontend of my website
Ниже приведены мои файлы: docker -compose
version: '3'
services:
db:
image: postgres:9.6-alpine
environment:
POSTGRES_DB: db
POSTGRES_USER: me
POSTGRES_PASSWORD: mypassword
volumes:
- ./data/postgres:/var/lib/postgresql/data
my_django_web:
image: my_image_backend
build: ./backend/django_dashboard
command: >
bash -c "
source ./env.sh &&
gunicorn django_dashboard.wsgi:application --bind 0.0.0.0:8000 --chdir ./backend/django_dashboard/"
volumes:
- .:/code
expose:
- 8000
depends_on:
- db
restart: "on-failure"
nginx:
build: ./nginx
ports:
- 1337:80
depends_on:
- my_django_web
frontend:
image: my_image_frontend
build: ./frontend/dashboard
volumes:
- ./frontend/dashboard:/code/frontend/dashboard
ports:
- "3000:3000"
Dockerfile для nginx, который меняет мой сайт с localhost: 8000 на localhost: 1337
FROM nginx:1.17.4-alpine
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d
nginx .conf
upstream my_django{
server my_django_web:8000;
}
server {
listen 80;
server_name something.com;
location / {
proxy_pass http://django_dashboard;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
nginx .conf, который я пытаюсь создать, поэтому он работает так, как я хочу
upstream my_django {
server my_django_web:8000;
}
server {
listen 80;
server_name something.com;
location /back {
rewrite ^/back(.*) /$1 break;
proxy_pass http://localhost:1337
}
location /front {
rewrite ^/front(.*) /$1 break;
proxy_pass http://localhost:3000
}
}
Итак, как мне изменить эти файлы, чтобы они работали так, как я упоминал в начале?
Спасибо за помощь.