Re: json log и "экранирование" неопределенных переменных
On Sunday, 26 July 2020 19:42:58 MSK Slawa Olhovchenkov wrote: > On Sun, Jul 26, 2020 at 07:29:04PM +0300, Валентин Бартенев wrote: > > > On Sunday, 26 July 2020 19:15:20 MSK Slawa Olhovchenkov wrote: > > > On Sun, Jul 26, 2020 at 05:55:57PM +0300, Sergey Kandaurov wrote: > > > > > > > > > > > > On 24 Jul 2020, at 14:13, Slawa Olhovchenkov wrote: > > > > > > > > > > Внезапно выяснилось что если пишем в json формате (ну ок, > > > > > экранирование json), то отсутсвующе числовые значения все ломают. > > > > > они идут как "-". может в этом случае их выводить как null? > > > > > > > > Такая подстановка используется в эскейпинге по умолчанию, > > > > если значение переменной не найдено. В других форматах > > > > эскейпинга значение не выводится, подробнее здесь: > > > > http://nginx.org/r/log_format/ru > > > > > > ну по спецификации json отстувиие должно кодироваться как null, не? > > > > Это где такое написано? > > https://stackoverflow.com/questions/21120999/representing-null-in-json > Это не спецификация, а предпочтения пользователей StackOverflow. > в предположении что значение числовое. > > в любом случае варианта выводить ничего нет -- для чисел будет не > валидный json, а все числа пихать в виде строк в "" -- как-то тоже > кажется неправильным. Дело в том, что в nginx все переменные строковые. Они в первую очередь предназначены для использования в конфигурации, а там нет отличий никаких между числом и строкой. Конфигурация - это не ЯП с типизацией, а набор токенов из текстового файла, которые затем интерпретируются в зависимости от директивы, в которой используются. Поэтому решение о том, как использовать каждую переменную в JSON: в виде строки, заворачивая в кавычки, или в виде числа, не заворачивая - отдано на откуп пользователю. Если пользователь решает использовать переменную не в виде строки, то он должен позаботиться о том, чтобы она всегда содержала в этом случае корректное значение с точки зрения выбранного им варианта применения. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: tcpdump tls
Если хочется именно pcap, посмотрите, тут на форуме был вопрос про слив ключей шифрования в ФСБ. Можно подгрузить библиотеку, которая сохранит ключи в файл On Sun, Jul 26, 2020, 10:47 PM Slawa Olhovchenkov wrote: > А что-как можно сделать что бы расшифровать https сессию в .pcap? > > Нет, не сорм. Просто клиентский браузер какую-то фигню странную пишет, > типа > > > Server's response > > Full response: > 0 Missing status code HTTP/1.1 > = > > > и я хочу своими глазами увидеть что конкретно ему отправилось и что > именно пришло. > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: tcpdump tls
Возможно проще fiddler на стороне браузера On Sun, Jul 26, 2020, 10:47 PM Slawa Olhovchenkov wrote: > А что-как можно сделать что бы расшифровать https сессию в .pcap? > > Нет, не сорм. Просто клиентский браузер какую-то фигню странную пишет, > типа > > > Server's response > > Full response: > 0 Missing status code HTTP/1.1 > = > > > и я хочу своими глазами увидеть что конкретно ему отправилось и что > именно пришло. > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: tcpdump tls
On Sun, Jul 26, 2020 at 08:58:00PM +0300, Daniel Podolsky wrote: > только на спецом сконфигурированных ciphers. но, вообще-то, это гуглится. в пору персонализированного гугла что угодно может оказаться неглибельным PS: да, я попытался погуглить. возможно неправильно запрос задал. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: tcpdump tls
только на спецом сконфигурированных ciphers. но, вообще-то, это гуглится. On Sun, 26 Jul 2020 at 20:47, Slawa Olhovchenkov wrote: > > А что-как можно сделать что бы расшифровать https сессию в .pcap? > > Нет, не сорм. Просто клиентский браузер какую-то фигню странную пишет, > типа > > > Server's response > > Full response: > 0 Missing status code HTTP/1.1 > = > > > и я хочу своими глазами увидеть что конкретно ему отправилось и что > именно пришло. > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
tcpdump tls
А что-как можно сделать что бы расшифровать https сессию в .pcap? Нет, не сорм. Просто клиентский браузер какую-то фигню странную пишет, типа Server's response Full response: 0 Missing status code HTTP/1.1 = и я хочу своими глазами увидеть что конкретно ему отправилось и что именно пришло. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
On Sun, Jul 26, 2020 at 10:07:23PM +0500, Илья Шипицин wrote: > вс, 26 июл. 2020 г. в 22:05, Slawa Olhovchenkov : > > > On Sun, Jul 26, 2020 at 09:52:35PM +0500, Илья Шипицин wrote: > > > > > > https://stackoverflow.com/questions/21120999/representing-null-in-json > > > > > > > > в предположении что значение числовое. > > > > > > > > > > а как правильно ескейпить "0.001, - , 0.002" > > > > первый бекенд вернул 503 > второй сбросил tcp > третий вернул 200 а, ок. ну в общем я вариант сказал. а может даже так [0.001,null,0.002] > и у меня proxy_next_upstream http_503 > > > > > > да, хороший вопрос > > только почему у нас два ответа? > > > > но я думаю что если одно число -- то как число > > если ничего -- не было обращений к апстирму -- null > > иначе строка в кавычках. > > ___ > > nginx-ru mailing list > > nginx-ru@nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
вс, 26 июл. 2020 г. в 22:05, Slawa Olhovchenkov : > On Sun, Jul 26, 2020 at 09:52:35PM +0500, Илья Шипицин wrote: > > > > https://stackoverflow.com/questions/21120999/representing-null-in-json > > > > > > в предположении что значение числовое. > > > > > > > а как правильно ескейпить "0.001, - , 0.002" > первый бекенд вернул 503 второй сбросил tcp третий вернул 200 и у меня proxy_next_upstream http_503 > > да, хороший вопрос > только почему у нас два ответа? > > но я думаю что если одно число -- то как число > если ничего -- не было обращений к апстирму -- null > иначе строка в кавычках. > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
On Sun, Jul 26, 2020 at 09:52:35PM +0500, Илья Шипицин wrote: > > https://stackoverflow.com/questions/21120999/representing-null-in-json > > > > в предположении что значение числовое. > > > > а как правильно ескейпить "0.001, - , 0.002" да, хороший вопрос только почему у нас два ответа? но я думаю что если одно число -- то как число если ничего -- не было обращений к апстирму -- null иначе строка в кавычках. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
вс, 26 июл. 2020 г. в 21:43, Slawa Olhovchenkov : > On Sun, Jul 26, 2020 at 07:29:04PM +0300, Валентин Бартенев wrote: > > > On Sunday, 26 July 2020 19:15:20 MSK Slawa Olhovchenkov wrote: > > > On Sun, Jul 26, 2020 at 05:55:57PM +0300, Sergey Kandaurov wrote: > > > > > > > > > > > > On 24 Jul 2020, at 14:13, Slawa Olhovchenkov > wrote: > > > > > > > > > > Внезапно выяснилось что если пишем в json формате (ну ок, > > > > > экранирование json), то отсутсвующе числовые значения все ломают. > > > > > они идут как "-". может в этом случае их выводить как null? > > > > > > > > Такая подстановка используется в эскейпинге по умолчанию, > > > > если значение переменной не найдено. В других форматах > > > > эскейпинга значение не выводится, подробнее здесь: > > > > http://nginx.org/r/log_format/ru > > > > > > ну по спецификации json отстувиие должно кодироваться как null, не? > > > > Это где такое написано? > > https://stackoverflow.com/questions/21120999/representing-null-in-json > > в предположении что значение числовое. > а как правильно ескейпить "0.001, - , 0.002" > > в любом случае варианта выводить ничего нет -- для чисел будет не > валидный json, а все числа пихать в виде строк в "" -- как-то тоже > кажется неправильным. > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
On Sun, Jul 26, 2020 at 07:29:04PM +0300, Валентин Бартенев wrote: > On Sunday, 26 July 2020 19:15:20 MSK Slawa Olhovchenkov wrote: > > On Sun, Jul 26, 2020 at 05:55:57PM +0300, Sergey Kandaurov wrote: > > > > > > > > > On 24 Jul 2020, at 14:13, Slawa Olhovchenkov wrote: > > > > > > > > Внезапно выяснилось что если пишем в json формате (ну ок, > > > > экранирование json), то отсутсвующе числовые значения все ломают. > > > > они идут как "-". может в этом случае их выводить как null? > > > > > > Такая подстановка используется в эскейпинге по умолчанию, > > > если значение переменной не найдено. В других форматах > > > эскейпинга значение не выводится, подробнее здесь: > > > http://nginx.org/r/log_format/ru > > > > ну по спецификации json отстувиие должно кодироваться как null, не? > > Это где такое написано? https://stackoverflow.com/questions/21120999/representing-null-in-json в предположении что значение числовое. в любом случае варианта выводить ничего нет -- для чисел будет не валидный json, а все числа пихать в виде строк в "" -- как-то тоже кажется неправильным. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
On Sunday, 26 July 2020 19:15:20 MSK Slawa Olhovchenkov wrote: > On Sun, Jul 26, 2020 at 05:55:57PM +0300, Sergey Kandaurov wrote: > > > > > > On 24 Jul 2020, at 14:13, Slawa Olhovchenkov wrote: > > > > > > Внезапно выяснилось что если пишем в json формате (ну ок, > > > экранирование json), то отсутсвующе числовые значения все ломают. > > > они идут как "-". может в этом случае их выводить как null? > > > > Такая подстановка используется в эскейпинге по умолчанию, > > если значение переменной не найдено. В других форматах > > эскейпинга значение не выводится, подробнее здесь: > > http://nginx.org/r/log_format/ru > > ну по спецификации json отстувиие должно кодироваться как null, не? Это где такое написано? -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
On Sun, Jul 26, 2020 at 05:55:57PM +0300, Sergey Kandaurov wrote: > > > On 24 Jul 2020, at 14:13, Slawa Olhovchenkov wrote: > > > > Внезапно выяснилось что если пишем в json формате (ну ок, > > экранирование json), то отсутсвующе числовые значения все ломают. > > они идут как "-". может в этом случае их выводить как null? > > Такая подстановка используется в эскейпинге по умолчанию, > если значение переменной не найдено. В других форматах > эскейпинга значение не выводится, подробнее здесь: > http://nginx.org/r/log_format/ru ну по спецификации json отстувиие должно кодироваться как null, не? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: json log и "экранирование" неопределенных переменных
> On 24 Jul 2020, at 14:13, Slawa Olhovchenkov wrote: > > Внезапно выяснилось что если пишем в json формате (ну ок, > экранирование json), то отсутсвующе числовые значения все ломают. > они идут как "-". может в этом случае их выводить как null? Такая подстановка используется в эскейпинге по умолчанию, если значение переменной не найдено. В других форматах эскейпинга значение не выводится, подробнее здесь: http://nginx.org/r/log_format/ru -- Sergey Kandaurov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Возможно ли остановить выполнение правил внутри location/выйти из location
Можно в if засунуть rewrite ... last; Тогда после выполнения условия будет совершён выход из этого location и поиск нового в соответствии с изменениями. Но мне сходу видятся проблемы, т.к. изначально логика построена неверно. Роман Буренков 26 июля 2020 г. 12:11:41 написал: Я использую gitlab 12 СE ( 12.9.2 (ac5568eb5d8) ) и nginx из поставки gitlab (nginx 1.16.1 sha256:f11c2a6d ) кусок моего location с правилами: location /test/lfs_lock_test.git/info/lfs/locks{ if ( $args ~ "lockservice=true" ) { return 404; } rewrite ^/test/lfs_lock_test.git/(.*) /$1 break; proxy_pass https://localhost:5002; access_log /var/log/gitlab/nginx/lfs_lock_access.log gitlab_access; error_log /var/log/gitlab/nginx/lfs_lock_error.log debug; } я хочу обрабатывать все запросы на ^.*.git/info/lfs/locks внутри location, только если там не содержится lockservice=true в URI, в это случае, просто выйти из location ( без 404 ) ,т.к. в файле, который я правлю ( /var/opt/gitlab/nginx/conf/gitlab-http.conf ) есть в т.ч. и такое: location / { proxy_cache off; proxy_pass http://gitlab-workhorse; } т.е. если есть lockservice=true в URI, то не делать proxy_pass и в принципе не применять правила из моего location ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Возможно ли остановить выполнение правил внутри location/выйти из location
Я использую gitlab 12 СE ( 12.9.2 (ac5568eb5d8) ) и nginx из поставки gitlab (nginx 1.16.1 sha256:f11c2a6d ) кусок моего location с правилами: location /test/lfs_lock_test.git/info/lfs/locks{ if ( $args ~ "lockservice=true" ) { return 404; } rewrite ^/test/lfs_lock_test.git/(.*) /$1 break; proxy_pass https://localhost:5002; access_log /var/log/gitlab/nginx/lfs_lock_access.log gitlab_access; error_log /var/log/gitlab/nginx/lfs_lock_error.log debug; } я хочу обрабатывать все запросы на ^.*.git/info/lfs/locks внутри location, только если там не содержится lockservice=true в URI, в это случае, просто выйти из location ( без 404 ) ,т.к. в файле, который я правлю ( /var/opt/gitlab/nginx/conf/gitlab-http.conf ) есть в т.ч. и такое: location / { proxy_cache off; proxy_pass http://gitlab-workhorse; } т.е. если есть lockservice=true в URI, то не делать proxy_pass и в принципе не применять правила из моего location ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru