У меня nginx как прокси для api (localhost: 5000).Я хочу переслать запрос на порт 555 на localhost 5000. Я использую docker для приложений nginx и api.
docker-compose.yml
version: '3.6'
services:
app:
build:
context: ./server/xxx.Api
dockerfile: Dockerfile
network_mode: host
proxy:
build:
context: ./server/nginx
dockerfile: Dockerfile
ports:
- "555:555"
nginx.conf:
server {
listen 555;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Client-Verify SUCCESS;
proxy_set_header X-Client-DN $ssl_client_s_dn;
proxy_set_header X-SSL-Subject $ssl_client_s_dn;
proxy_set_header X-SSL-Issuer $ssl_client_i_dn;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
}
}
Но вместо приложения на 5000 портов у меня 502 Bad Gateway от nginx.Приложение также находится в докере.
Если я переадресую запрос на другой сайт
proxy_pass http://reddit.com;
, все работает.Что здесь не так?