предполагается ли инициализация временных папок при вызове "nginx -t" ?

2020-12-22 Пенетрантность Илья Шипицин
привет!

беру чистый centos, ставлю nginx из стокового репозитория.
в /var/cache/nginx - пусто. ожидаемо

делаю "nginx -t", и уже не пусто. а вот это не очень ожидаемо было.

почему так ?


[root@centos system]# cd /var/cache/nginx/
[root@centos nginx]# ls
[root@centos nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@centos nginx]# ls
client_temp  fastcgi_temp  proxy_temp  scgi_temp  uwsgi_temp
[root@centos nginx]#



Илья Шипицин
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: режим dry run для "return 421"

2020-12-22 Пенетрантность Илья Шипицин
Да, так и сделаю. Спасибо

On Tue, Dec 22, 2020, 11:22 PM Oleg A. Mamontov  wrote:

> On Tue, Dec 22, 2020 at 06:17:13PM +0500, Илья Шипицин wrote:
> >грубо - сделать все то же самое, что было бы без "return 421" +
> залогировать
> >попытку вернуть.
> >классический dry run
>
> Возможно, вам подойдет дополнительный access_log по условию:
> ---
> map $host $condition {
>  default 1;
>  some_condition  0;
> }
> ...
> location / {
>proxy_pass http://upstream;
>
>access_log /var/log/my.log;
>access_log /var/log/conditional.log if=$condition;
> }
> ---
>
> >error_page 421  = @handler_421;
> >
> >location / {
> >   if ($some_condition != $host) { return 421; }
> >
> >   proxy_pass http://upstream;
> >
> >   access_log /var/log/my.log;
> >}
> >
> >location @handler_421 {
> >   proxy_pass http://upstream;
> >
> >   access_log /var/log/my.log;
> >   access_log /var/log/additional.log special_format;
> >}
> >
> >
> >
> >On Tue, Dec 22, 2020, 5:32 PM Evgeniy Berdnikov  wrote:
> >
> >On Tue, Dec 22, 2020 at 04:52:36PM +0500, Илья Шипицин wrote:
> >>привет!
> >>рассматриваем вариант
> >>if ($some_condition != $host) { return 421; }
> >>вопрос - как можно по дешевому в этом месте сделать "логирование
> >вместо
> >>return" ?
> >
> > return 302 
> > ?
> >
> > Вообще, что значит "вместо"? Какой-то ответ на запрос должен быть.
> > Логгирование это не ответ, а этап обработки запроса.
> >--
> > Eugene Berdnikov
> >___
> >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
>
>
> --
> Cheers,
> Oleg A. Mamontov
>
> mailto: o...@mamontov.net
>
> skype:  lonerr11
> cell:   +7 (903) 798-1352
> ___
> 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: режим dry run для "return 421"

2020-12-22 Пенетрантность Oleg A. Mamontov

On Tue, Dec 22, 2020 at 06:17:13PM +0500, Илья Шипицин wrote:

грубо - сделать все то же самое, что было бы без "return 421" + залогировать
попытку вернуть.
классический dry run


Возможно, вам подойдет дополнительный access_log по условию:
---
map $host $condition {
default 1;
some_condition  0;
}
...
location / {
   proxy_pass http://upstream;

   access_log /var/log/my.log;
   access_log /var/log/conditional.log if=$condition;
}
---


error_page 421  = @handler_421;

location / {
   if ($some_condition != $host) { return 421; }

   proxy_pass http://upstream;

   access_log /var/log/my.log;
}

location @handler_421 {
   proxy_pass http://upstream;

   access_log /var/log/my.log;
   access_log /var/log/additional.log special_format;
}



On Tue, Dec 22, 2020, 5:32 PM Evgeniy Berdnikov  wrote:

   On Tue, Dec 22, 2020 at 04:52:36PM +0500, Илья Шипицин wrote:
   >    привет!
   >    рассматриваем вариант
   >    if ($some_condition != $host) { return 421; }
   >    вопрос - как можно по дешевому в этом месте сделать "логирование
   вместо
   >    return" ?

    return 302 
    ?

    Вообще, что значит "вместо"? Какой-то ответ на запрос должен быть.
    Логгирование это не ответ, а этап обработки запроса.
   --
    Eugene Berdnikov
   ___
   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



--
Cheers,
Oleg A. Mamontov

mailto: o...@mamontov.net

skype:  lonerr11
cell:   +7 (903) 798-1352
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: режим dry run для "return 421"

2020-12-22 Пенетрантность Илья Шипицин
вт, 22 дек. 2020 г. в 19:58, Evgeniy Berdnikov :

> On Tue, Dec 22, 2020 at 06:17:13PM +0500, Илья Шипицин wrote:
> >грубо - сделать все то же самое, что было бы без "return 421" +
> >залогировать попытку вернуть.
> >классический dry run
> >error_page 421  = @handler_421;
> >location / {
> >   if ($some_condition != $host) { return 421; }
> >   proxy_pass http://upstream;
> >   access_log /var/log/my.log;
> >}
> >location @handler_421 {
> >   proxy_pass http://upstream;
> >   access_log /var/log/my.log;
> >   access_log /var/log/additional.log special_format;
> >}
>
>  Какой же он "dry" если в хендлере есть то же самое обращение апстриму?
>

изначально у меня вот так

location / {
  proxy_pass http://upstream;
}

я хочу добавить if ($some_condition != $host) { return 421; } в режиме, в
котором поведение не поменяется, но я убеждусь, что конструкция будет
срабатывать ровно тогда, когда я имею в виду



>  Тут просто добавочное логгирование... И статус чисто внутренний, он может
>  быть любой, не обязательно 421. Тогда чем этот паровоз не устраивает?
>


с POST-ами есть вопросы. ну и вообще конструкция громоздкая.


>
>
> >On Tue, Dec 22, 2020, 5:32 PM Evgeniy Berdnikov <[3]b...@protva.ru>
> wrote:
> >
> >  On Tue, Dec 22, 2020 at 04:52:36PM +0500, Илья Шипицин wrote:
> >  >привет!
> >  >рассматриваем вариант
> >  >if ($some_condition != $host) { return 421; }
> >  >вопрос - как можно по дешевому в этом месте сделать
> "логирование
> >  вместо
> >  >return" ?
> >
> >   return 302 
> >   ?
> >
> >   Вообще, что значит "вместо"? Какой-то ответ на запрос должен быть.
> >   Логгирование это не ответ, а этап обработки запроса.
> >  --
> >   Eugene Berdnikov
> >  ___
> >  nginx-ru mailing list
> >  [4]nginx-ru@nginx.org
> >  [5]http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> > References
> >
> >Visible links
> >1. http://upstream/
> >2. http://upstream/
> >3. mailto:b...@protva.ru
> >4. mailto:nginx-ru@nginx.org
> >5. http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> > ___
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> --
>  Eugene Berdnikov
> ___
> 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: режим dry run для "return 421"

2020-12-22 Пенетрантность Evgeniy Berdnikov
On Tue, Dec 22, 2020 at 06:17:13PM +0500, Илья Шипицин wrote:
>грубо - сделать все то же самое, что было бы без "return 421" +
>залогировать попытку вернуть.
>классический dry run
>error_page 421  = @handler_421;
>location / {
>   if ($some_condition != $host) { return 421; }
>   proxy_pass http://upstream;
>   access_log /var/log/my.log;
>}
>location @handler_421 {
>   proxy_pass http://upstream;
>   access_log /var/log/my.log;
>   access_log /var/log/additional.log special_format;
>}

 Какой же он "dry" если в хендлере есть то же самое обращение апстриму?
 Тут просто добавочное логгирование... И статус чисто внутренний, он может
 быть любой, не обязательно 421. Тогда чем этот паровоз не устраивает?


>On Tue, Dec 22, 2020, 5:32 PM Evgeniy Berdnikov <[3]b...@protva.ru> wrote:
> 
>  On Tue, Dec 22, 2020 at 04:52:36PM +0500, Илья Шипицин wrote:
>  >    привет!
>  >    рассматриваем вариант
>  >    if ($some_condition != $host) { return 421; }
>  >    вопрос - как можно по дешевому в этом месте сделать "логирование
>  вместо
>  >    return" ?
> 
>   return 302 
>   ?
> 
>   Вообще, что значит "вместо"? Какой-то ответ на запрос должен быть.
>   Логгирование это не ответ, а этап обработки запроса.
>  --
>   Eugene Berdnikov
>  ___
>  nginx-ru mailing list
>  [4]nginx-ru@nginx.org
>  [5]http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 
> References
> 
>Visible links
>1. http://upstream/
>2. http://upstream/
>3. mailto:b...@protva.ru
>4. mailto:nginx-ru@nginx.org
>5. http://mailman.nginx.org/mailman/listinfo/nginx-ru

> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


-- 
 Eugene Berdnikov
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: режим dry run для "return 421"

2020-12-22 Пенетрантность Илья Шипицин
грубо - сделать все то же самое, что было бы без "return 421" +
залогировать попытку вернуть.
классический dry run

error_page 421  = @handler_421;

location / {
   if ($some_condition != $host) { return 421; }

   proxy_pass http://upstream;

   access_log /var/log/my.log;
}

location @handler_421 {
   proxy_pass http://upstream;

   access_log /var/log/my.log;
   access_log /var/log/additional.log special_format;
}



On Tue, Dec 22, 2020, 5:32 PM Evgeniy Berdnikov  wrote:

> On Tue, Dec 22, 2020 at 04:52:36PM +0500, Илья Шипицин wrote:
> >привет!
> >рассматриваем вариант
> >if ($some_condition != $host) { return 421; }
> >вопрос - как можно по дешевому в этом месте сделать "логирование
> вместо
> >return" ?
>
>  return 302 
>  ?
>
>  Вообще, что значит "вместо"? Какой-то ответ на запрос должен быть.
>  Логгирование это не ответ, а этап обработки запроса.
> --
>  Eugene Berdnikov
> ___
> 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: режим dry run для "return 421"

2020-12-22 Пенетрантность Evgeniy Berdnikov
On Tue, Dec 22, 2020 at 04:52:36PM +0500, Илья Шипицин wrote:
>привет!
>рассматриваем вариант
>if ($some_condition != $host) { return 421; }
>вопрос - как можно по дешевому в этом месте сделать "логирование вместо
>return" ?

 return 302 
 ?
 
 Вообще, что значит "вместо"? Какой-то ответ на запрос должен быть.
 Логгирование это не ответ, а этап обработки запроса.
-- 
 Eugene Berdnikov
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

режим dry run для "return 421"

2020-12-22 Пенетрантность Илья Шипицин
привет!

рассматриваем вариант

if ($some_condition != $host) { return 421; }

вопрос - как можно по дешевому в этом месте сделать "логирование вместо
return" ?

Илья Шипицин
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Проблема при проксировании на nginx с ssl reject handshake on

2020-12-22 Пенетрантность Alexey Koscheev
Сам себе отвечу :)

На Сервер1 не хватало строки:
proxy_ssl_name $host;

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,290260,290261#msg-290261

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Проблема при проксировании на nginx с ssl reject handshake on

2020-12-22 Пенетрантность Alexey Koscheev
Сервер1 (принимает запросы и проксирует на сервер 2):

server {
listen a.b.c.d:443 ssl;
server_name
abcd.example
;
access_log off;
ssl_certificate path_to.crt;
ssl_certificate_key path_to.key;
location / {
proxy_pass https://b.c.d.e:443;
proxy_ssl_server_name on;
proxy_set_header Host $host;
}
}

Сервер2
server {
listen b.c.d.e:443 ssl default_server;
server_name _;

access_log off;
ssl_certificate /usr/local/nginx/conf/cert.pem;
ssl_certificate_key /usr/local/nginx/conf/key.pem;
ssl_reject_handshake on;

location / {
return 444;
}
}

server {
listen b.c.d.e:443 ssl http2;
server_name abcd.example
;
access_log access.log combined;
root /home2/xyz/abcd.example/WWW;
ssl_certificate path_to.crt;
ssl_certificate_key path_to.key;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate path_to.trusted;
location / {
proxy_pass http://127.0.0.1:80;
}

}


Если на Сервер2 ssl_reject_handshake on;, то запросы к Сервер 1 завершаются
502 ошибкой. В error лог такое:
2020/12/22 11:05:13 [crit] 57654#0: *13192673 SSL_do_handshake() failed
(SSL: error:14094458:SSL routines:ssl3_read_bytes:tlsv1 unrecognized
name:SSL alert number 112) while SSL handshaking to upstream, client:
192.168.10.250, server: abcd.example, request: "GET / HTTP/2.0", upstream:
"https://b.c.d.e:443/;, host: "xn--b1aghahdtcfeb2aifj5e.xn--p1ai"

Наличие строк 
proxy_ssl_server_name on;
proxy_set_header Host $host;
в конфиге server на Сервер1 никак не влияет на проблему.

В чем может быть дело?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,290260,290260#msg-290260

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru