Запросы сбалансированы верхним слоем nginx:
upstream balancer {
server nginx0:444;
server nginx1:445;
}
server {
listen 80 default_server;
server_name test.server.name;
if ($host = test.server.name) {
return 301 https://$host$request_uri;
}
return 404;
}
server {
listen 443 ssl http2;
server_name www.test.server.name;
root /var/www/test.server.name;
index index.html;
location / {
proxy_pass https://balancer;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header realip $remote_addr;
}
ssl_certificate /etc/letsencrypt/live/fullchain.pem; # manage
ssl_certificate_key /etc/letsencrypt/live/privkey.pem; # mana
}
На следующем уровне есть еще две конфигурации nginx, которые обеспечивают кэширование:
upstream apibackend {
server back1;
server back2;
}
server {
listen 444 ssl http2;
listen 445 ssl http2;
server_name www.test.server.name;
root /var/www/test.server.name;
index index.html;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache name_cache;
proxy_cache_revalidate on;
proxy_cache_use_stale updating;
proxy_cache_background_update on;
proxy_cache_valid any 5m;
location /api/ {
proxy_pass http://apibackend/api/;
}
Вопрос заключается в следующем:Есть ли возможность вернуть ответ непосредственно от нижних уровней?Отладка говорит, что ответ сначала отправляется верхнему балансировщику, а затем только пользователям