Size: a a a

2020 January 31

k

kiosaku in nginx_ru
можно одной map-ой обойтись
источник

k

kiosaku in nginx_ru
KrivdaTheTriewe
привет, есть проблемка, хочу костыльно решить на пару дней, есть гитлаб, есть слековский сервис хуков, хочу проксировать обращение к хукам через нгинкс, потому что есть корпоративная прокси (HTTP_PROXY во всех регистрах и хттпс прописан в энвайрементах контейнера через ENV), но чот он возвращает 499
^Croot@node3:~/proxy# cat nginx.conf
error_log /var/log/nginx-error.log debug;
events {
 worker_connections  4096;  ## Default: 1024
}
http {


       server
{
               listen 80;
               listen [::]:80 default_server;
               location /slack_hook {
                       proxy_pass https://hooks.slack.com;
                       proxy_set_header X-Real-IP $remote_addr;
                       proxy_set_header Host $host;
                       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               }
       }
}
499 - клиент свалил не дождавшись ответа от nginx-а
источник

k

kiosaku in nginx_ru
смотри логи
источник

K

KrivdaTheTriewe in nginx_ru
смотрю
источник

VL

Vethopheth Lephanim in nginx_ru
kiosaku
можно одной map-ой обойтись
а пример-то можно, мапы по трём условиям?
источник

k

kiosaku in nginx_ru
Vethopheth Lephanim
а пример-то можно, мапы по трём условиям?
условия-то где?
источник

VL

Vethopheth Lephanim in nginx_ru
да любые, ну например
if ($remote_addr ~ "^(192.168)")
if ($ssl_client_verify = 'SUCCESS')
if ($ssl_client_s_dn_cn ~ 'OLOLO')
источник

A

Aleksey in nginx_ru
те, кто используют brotli, сталкивались с этой багой?
https://github.com/google/ngx_brotli/issues/80
источник

k

kiosaku in nginx_ru
geo $is_ip {
default 0;
 192.168.0.0/16 1;
}
map $ssl_client_verify $is_verify {
default 0;
success 1;
}
map $ssl_client_s_dn_cn $is_dn_cn {
default 0;
“~OLOLO” 1;
}
map $is_ip$is_verify$is_dn_cn $result {
default 0;
111 1;
}

if $result {}
источник

k

kiosaku in nginx_ru
можно и одной map-ой, но так - читабельнее
источник

K

KrivdaTheTriewe in nginx_ru
kiosaku
смотри логи
Ничо нет
источник

k

kiosaku in nginx_ru
KrivdaTheTriewe
Ничо нет
к апстриму-то обращается?
источник

VL

Vethopheth Lephanim in nginx_ru
kiosaku
geo $is_ip {
default 0;
 192.168.0.0/16 1;
}
map $ssl_client_verify $is_verify {
default 0;
success 1;
}
map $ssl_client_s_dn_cn $is_dn_cn {
default 0;
“~OLOLO” 1;
}
map $is_ip$is_verify$is_dn_cn $result {
default 0;
111 1;
}

if $result {}
ну в общем ясно, смысл ровно такой же как в моём варике, просто метод заполнения переменной с помощью map)
источник

k

kiosaku in nginx_ru
ну да. но уже без кучи if-ов
источник

VL

Vethopheth Lephanim in nginx_ru
но с кучей мампов)
источник

k

kiosaku in nginx_ru
см. выше про “читабельность”
источник

VL

Vethopheth Lephanim in nginx_ru
да лан, 3 ифа - разве ж куча
источник

k

kiosaku in nginx_ru
хех, ты просто не сталкивался, видимо, с более мозгодробительной логикой ...
источник

VL

Vethopheth Lephanim in nginx_ru
если б столкнулся, разумеется, я бы выбрал подходящий инструмент. Либо модуль lua, либо openresty. Потому что гвозди,  так-то, и отвёрткой закалачивать можно, но зачем?
источник

k

kiosaku in nginx_ru
ну, смотри сам, как тебе удобнее. просто if-ы … они хитрые … это не аналог if-а в языке программирования
источник