питоне, всё докере
подскажите, вот с таким конфигом
server {
listen 80;
proxy_buffers 8 16k;
proxy_buffer_size 32k;
location /lyt_poster/ {
proxy_pass http://lyt_poster:8001;
}
}
при запросе из браузера example.com/lyt_poster/?one=1&two=2 получаю вот такую ошибку в логах
nginx_1 | 2020/05/20 12:08:02 [error] 6#6: *11 connect() failed (111: Connection refused) while connecting to upstream, client: 62.78._._, server: , request: "GET /lyt_poster/?one=1&two=2 HTTP/1.1", upstream: "http://172.18._._:8001/lyt_poster/?one=1&two=2", host: "example.com
docker-compose.yml
version: '3.2'
services:
nginx:
build: ./nginx
depends_on:
- lyt_poster
ports:
- "80:80"
lyt_poster:
build: .
ports:
- "8001:8000"
в Dockerfile для lyt_poster разрешен 8000 порт,
в lyt_poster- питоновский aiohttp ловит "/" с порта 8000
в чём косяк? в докере или ещё в чем?
Nginx не слушает 8001. Это раз. Что curl -vvv отдает? Это два. Telnet на это порт что отдает. Это три.
В конфигурации nginx поменять порт после имени сервиса в proxy_pass с 8001 на 8000 и все заработает без танцев с бубном. 8001 это порт на котором хостовая машина повесила 8000 порт lyt_poster контейнера согласно compose файлу, а nginx обращается именно к контейнеру, в котором 8001 порт никто не слушает.
Обсуждают сегодня