У меня есть docker-compose.yaml
, подобное этому (сокращено для простоты):
# ...
services:
my-ui:
# ...
ports:
- 5402:8080
networks:
- my-net
networks:
my-net:
external:
name: my-net
и я пытаюсь настроить nginx
в качестве обратного прокси-сервера с этой конфигурацией:
upstream client {
server my-ui:5402;
}
server {
listen 80;
location / {
proxy_pass http://client;
}
}
а это docker-compose.yaml
у меня для nginx
:
# ...
services:
reverse-proxy:
# ...
ports:
- 5500:80
networks:
- my-net
networks:
my-net:
external:
name: my-net
Что происходит сейчас, так это то, что когда я запускаю my-ui
и reverse-proxy
(каждый из которых использует свой собственный docker-compose up
), и я перехожу на http://localhost:5500
, я получаю сообщение Bad Gateway
, и мои nginx
журналы говорит это:
connect() failed (111: Connection refused) while connecting to
upstream, client: 172.19.0.1, server: , request: "GET / HTTP/1.1",
upstream: "http://172.19.0.5:5402/", host: "localhost:5500"
Если я exec
в мой nginx
контейнер и использую ping
:
ping my-ui
ping 172.19.0.5
Оба успешны, но если я хочу, например, curl
:
curl -L http://my-ui
curl -L http://my-ui:5402
curl -L http://172.19.0.1
Все они терпят неудачу с сообщением connection refused
. Что мне здесь не хватает?
PS: я не уверен, но было бы полезно добавить, что my-ui
- это базовое vuejs
приложение, работающее на сервере Webpack dev.
PS2: я также пытался передать заголовки хоста и т. Д., Но тот же результат