хедер, значением которого является ответ от бэка
frontend.conf:
js_import headerModule.js;
server {
listen 80; # Use TLS in production
set $headerValueService "http://localhost:8080/headerValue";
location / {
js_var $headerValue headerModule.getHeaderValue;
proxy_set_header X-HEADER-VALUE $headerValue;
proxy_pass http://host.docker.internal:3000/;
}
location = /_getHeaderValue {
internal;
proxy_method GET;
proxy_pass_header Authorization;
proxy_pass $headerValueService;
}
}
# vim: syntax=nginx
headerModule.js:
function getHeaderValue(r) {
r.subrequest("/_getHeaderValue", "",
function (reply) {
if (reply.status != 200) {
r.log("Failed receiving header value");
r.status = 500;
r.finish();
} else {
const headerValue = reply.responseText;
r.log("Header set: " + headerValue);
r.variables.permissionsHeader = headerValue;
}
});
}
но чет js функция не вызывается, в логах записей нет. я правильно все делаю? или нужен какой-то другой путь для решения данной задачи?
1. прочитай правила, пожалуйста 2. тебе нужна аутенфикация/авторизация при запросе (перед проксированием)?
1. сейчас выложу на pastebin 2. нет, это уже решенная задача
Обсуждают сегодня