Size: a a a

2021 March 26

ВМ

Владимир Муковоз... in nginx_ru
Raven
Ну... тут (в моем случае) первым сляжет бэкенд, а не nginx)
первым может слечь канал)
источник

K

Ki in nginx_ru
Hi!
Есть вопрос:
- когда nginx выполняет proxy_pass в location и допустим забирает с бэкэнда статический файл (с s3 допустим), то клиент, который сделал запрос, получит в заголовках Content-Type, где будет указан тип файла. А может ли nginx, получив файл с бэкэнда, перезаписать заголовок Content-Type и отдать его клиенту, причем перезаписав Content-Type исходя из локального mime.types?
Пример:
- Т.е. запросили файл mysite.ru:/file.js и получили Content-Type: application/octet-stream, а хотим чтобы был Content-Type: application/x-javascript; charset=utf-8
источник

k

kiosaku in nginx_ru
Raven
Кстати, сталкивался-ли кто с таким?
http://mailman.nginx.org/pipermail/nginx-ru/2021-March/063683.html
было что-то подобное 4 года назад: https://forum.nginx.org/read.php?21,276955,277334#msg-277334
источник

AN

Anton Noginov in nginx_ru
Ki
Hi!
Есть вопрос:
- когда nginx выполняет proxy_pass в location и допустим забирает с бэкэнда статический файл (с s3 допустим), то клиент, который сделал запрос, получит в заголовках Content-Type, где будет указан тип файла. А может ли nginx, получив файл с бэкэнда, перезаписать заголовок Content-Type и отдать его клиенту, причем перезаписав Content-Type исходя из локального mime.types?
Пример:
- Т.е. запросили файл mysite.ru:/file.js и получили Content-Type: application/octet-stream, а хотим чтобы был Content-Type: application/x-javascript; charset=utf-8
Нет

То есть переписать content-type можно, но не на основе уже подключенного mine.types.
Можно построить отдельный map и им переписывать заголовки.
источник

R

Raven in nginx_ru
Владимир Муковоз
в моём случае клоудфлер не ляжет)
Рвется всегда где тонко и в моем случае бутылочное горлышко это сервер приложений, а не проксирующий на него nginx) Этот держит нагрузку абсолютно предсказуемо (до 200к соединений в пиках бывало)
источник

K

Ki in nginx_ru
Anton Noginov
Нет

То есть переписать content-type можно, но не на основе уже подключенного mine.types.
Можно построить отдельный map и им переписывать заголовки.
Пасиб. А можете привести пример короткий. Как это реализовать.
источник

R

Raven in nginx_ru
Да, я смотрел эту ветку. Этот код уже включен в nginx в 1.13.7
источник

k

kiosaku in nginx_ru
Ki
Пасиб. А можете привести пример короткий. Как это реализовать.
more_set_headers, например
источник

BM

Brutal Meatball in nginx_ru
подскажите плиз, можно сделать deny all ответ не 403 а 444?
источник

k

kiosaku in nginx_ru
можно, наверное
источник

k

kiosaku in nginx_ru
только зачем?
источник

R

Raven in nginx_ru
+1
источник

R

Raven in nginx_ru
Чем return не угодил?
источник

ВМ

Владимир Муковоз... in nginx_ru
Brutal Meatball
подскажите плиз, можно сделать deny all ответ не 403 а 444?
врядли, скорее нельзя
источник

ВМ

Владимир Муковоз... in nginx_ru
если конечно модуль не пересобирать с такими финтами
источник

BM

Brutal Meatball in nginx_ru
kiosaku
только зачем?
а зачем в обратку слать ответ, если оно не нужно, просто закрыть соединение да и все...
источник

ВМ

Владимир Муковоз... in nginx_ru
Brutal Meatball
а зачем в обратку слать ответ, если оно не нужно, просто закрыть соединение да и все...
ну так и делай ретурн 444
источник

ВМ

Владимир Муковоз... in nginx_ru
и всё)
источник

AN

Anton Noginov in nginx_ru
Ki
Пасиб. А можете привести пример короткий. Как это реализовать.
Очень грязно - примерно так:

map $uri $newtype { 
"~.+\.js$" "application/javascript";
}

location .. {
 proxy_hide_header Content-Type ;
 add_header Content-Type "$newtype" always ;
}
источник

k

kiosaku in nginx_ru
насчёт always - спорно
источник