#spring-boot #docker #nginx #docker-compose #nginx-reverse-proxy
#spring-boot #docker #nginx #docker-compose #nginx-reverse-proxy
Вопрос:
У меня есть два приложения spring boot и веб-сервер nginx. Эти приложения работают с docker-compose. Я хочу запускать свои приложения в 9000, 9001, 9002 портах соответственно. (nginx -> 9000, spring-boot-app1 -> 9001, spring-boot-app2 -> 9002)
spring-app1 должен быть доступен из браузера по адресуhttp://localhost:9000 / и spring-app2 должны быть доступны из браузера по адресу http://localhost:9000/ui
В соответствии с этим, как настроить nginx?
Структура папок проекта
|── ...
│
│── nginx
│ ├── default.conf
│ ├── Dockerfile
│
├── web-static
│ ├── src
│ ├── pom.xml
│ ├── Dockerfile
│
├── web-ui
│ ├── src
│ ├── pom.xml
│ ├── Dockerfile
│
├── docker-compose.yml
docker-compose.yml
version: '3'
services:
proxy:
container_name: proxy
build: ./nginx
image: proxy
ports:
- "9000:80"
service1:
container_name: service1
build: ./web-static
image: service1
ports:
- "9001:9000"
service2:
container_name: service2
build: ./web-ui
image: service2
ports:
- "9002:9000"
файл nginx.conf
server {
listen 80;
location / {
proxy_pass http://service1:9000;
}
location /ui {
proxy_pass http://service2:9000/;
}
}
Я внес некоторые изменения в файл конфигурации Nginx. Однако css, файлы изображений и запрос работают некорректно и не отображаются.
Пример запроса: Мой запрос «localhost: 9000 / ui / ?form». Но localhost: 9000 отвечает на запрос. Я этого не хочу.
- Вкратце, я хочу, чтобы spring-boot-app1 был доступен из браузера по адресу localhost: 9000/
- spring-boot-app2 должен быть доступен из браузера по адресу localhost: 9000 / ui/
- Я хочу, чтобы он работал независимо сам по себе.
Комментарии:
1. У меня похожая проблема, вы нашли решение?