Size: a a a

2021 June 01

k

kiosaku in nginx_ru
не скажи … иногда бывает нужно
источник

k

kiosaku in nginx_ru
простейший пример - залогировать тело запроса
источник

AM

Alexandr Malinkin in nginx_ru
Всем привет, что то не получается нагуглить, как можно "срезать" хэдер Authorization, если он начинается с Basic и непропускать запрос?
--header 'Authorization: Basic
источник

A

Anton in nginx_ru
if ( $http_authorization !~* “^Basic(.*)”){return 402;}
источник

A

Anton in nginx_ru
или надо сам хидер занулить?
источник

k

kiosaku in nginx_ru
так “срезать” и пропустить или не пропускать?
источник

AM

Alexandr Malinkin in nginx_ru
имел ввиду что если приходит с --header 'Authorization: Basic то не пропускать
источник

AM

Alexandr Malinkin in nginx_ru
сам хидер
источник

k

kiosaku in nginx_ru
а нулить его зачем, раз всё равно не пускаешь никуда?
источник

k

kiosaku in nginx_ru
отдай 403 и всё 🙂
источник

AM

Alexandr Malinkin in nginx_ru
ну вот вопрос как это сделать )))
источник

A

Anton in nginx_ru
map $http_authorization $new_auth {
~*^Basic(.*) $http_authorization;
default “”;
}

proxy_set_header Authorization $new_auth;
источник

k

kiosaku in nginx_ru
хотя лучше не 403, а 412
источник

A

Anton in nginx_ru
там я вроде выше привел уже вариант когда запрос дальше не проходит
источник

AM

Alexandr Malinkin in nginx_ru
спасибо большое за оба варианта, попробую) ядумал может кто то ман скинет) а тут прям готовый вариант)а чет не нагуглил сам)
источник

A

Anton in nginx_ru
if ( $http_authorization !~* “^Basic(.*)”){return 402;}
проверяем жидер на не соответствие регулярки, и если это так - возвращаем сразу код ответа
http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#if

map $http_authorization $new_auth {
~*^Basic(.*) $http_authorization;
default “”;
}

proxy_set_header Authorization $new_auth;
определяем новую переменную через map, воспадает с регуляркой - оставляем как есть, нет - зануляем
и потом передаем бэку хидер с новым значением
https://nginx.org/ru/docs/http/ngx_http_map_module.html
https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_set_header
источник

AM

Alexandr Malinkin in nginx_ru
премного благодарен, пойду изучать мат часть, что бы больше не тупить с такими вопросами)
источник

AM

Alexandr Malinkin in nginx_ru
мое почтение 👍 @dlinnniy
источник

АС

Алексей Скороход... in nginx_ru
Так, моя проблема не решилась, перефразирую ее. У меня есть фронт и бэк, которые лежат на одном серваке на двух разных доменах. Делая запросы на бек, я прокси пассом обращаюсь к локалхосту, где лежит бэк. Проблема состоит в том, что я не могу разрешить доступ к некоторым урлам бэка только фронту, который лежит у меня на серваке (то есть, любой человек не сможет перейти по этой урле)
источник

DP

Dmitry Prokhorov in nginx_ru
Добрый день.
Есть задача отдавать файлы через браузер (типа как на mirror yandex ru).
Но мне надо "зачрутить" каждого юзера в его директории, после прохождения BasicAuth. Можно с Nginx такое реализовать?
Благодарю.
источник