From mdounin на mdounin.ru Tue Nov 2 01:09:07 2021 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 2 Nov 2021 04:09:07 +0300 Subject: =?UTF-8?B?UmU6IE5naW54INC4INC/0L7RgtC+0LrQuA==?= In-Reply-To: References: Message-ID: Hello! On Sun, Oct 31, 2021 at 11:11:25AM -0400, greenwar wrote: > как именно Nginx оперирует потоками? > пришёл запрос, его Nginx принял в поток, передал в FastCGI, а что дальше? > он будет держать поток, пока FastCGI не вернёт ответ, а Nginx его передаст > источнику > или сам FastCGI передаст ответ источнику? > сам FastCGI тоже на каждый запрос выделяет поток... > короче, потоки для FastCGI надо урезать в половину или как это работает? Если под словом "поток" вы имеете в виду треды, они же потоки выполнения, то в наиболее простом виде ответ будет "никак". Для обработки соединений nginx использует события, обрабатывая множество клиентских соединений в рамках основного потока выполнения каждого рабочего процесса, без использования дополнительных тредов. Подробнее почитать об этом можно где-то тут: http://www.aosabook.org/en/nginx.html -- Maxim Dounin http://mdounin.ru/ From mdounin на mdounin.ru Tue Nov 2 15:09:09 2021 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 2 Nov 2021 18:09:09 +0300 Subject: nginx-1.21.4 Message-ID: Изменения в nginx 1.21.4 02.11.2021 *) Изменение: поддержка NPN вместо ALPN для установления HTTP/2-соединений упразднена. *) Изменение: теперь nginx закрывает SSL соединение, если клиент использует ALPN, но nginx не поддерживает ни один из присланных клиентом протоколов. *) Изменение: в директиве sendfile_max_chunk значение по умолчанию изменено на 2 мегабайта. *) Добавление: директива proxy_half_close в модуле stream. *) Добавление: директива ssl_alpn в модуле stream. *) Добавление: переменная $ssl_alpn_protocol. *) Добавление: поддержка SSL_sendfile() при использовании OpenSSL 3.0. *) Добавление: директива mp4_start_key_frame в модуле ngx_http_mp4_module. Спасибо Tracey Jaquith. *) Исправление: в переменной $content_length при использовании chunked transfer encoding. *) Исправление: при получении ответа некорректной длины от проксируемого бэкенда nginx мог тем не менее закэшировать соединение. Спасибо Awdhesh Mathpal. *) Исправление: некорректные заголовки от бэкендов логгировались на уровне info вместо error; ошибка появилась в 1.21.1. *) Исправление: при использовании HTTP/2 и директивы aio_write запросы могли зависать. -- Maxim Dounin http://nginx.org/ From izorkin на gmail.com Mon Nov 15 09:01:58 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Mon, 15 Nov 2021 12:01:58 +0300 Subject: =?UTF-8?B?bmdpbng6INC30LDQv9GD0YHQuiBIVFRQMyDQv9GA0L7RgtC+0LrQvtC70LAg0L0=?= =?UTF-8?B?0LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= Message-ID: <146876086.20211115120158@gmail.com> Здравствуйте. При попытке активировать HTTP3 протокол на 2-х виртуальных хостах выходит ошибка: ``` nginx: [emerg] duplicate listen options for 0.0.0.0:443 in /etc/nginx/nginx.conf:27 configuration file /etc/nginx/nginx.conf test failed ``` Файл конфигурации: ``` pid /run/nginx/nginx.pid; error_log stderr; daemon off; events { } http { include /nix/store/qd3g8rk5hx5zkb70idjh6fa12sh6bipg-mailcap-2.1.53/etc/nginx/mime.types; include /nix/store/mwibmbkyhimr43bkbrpz9sway6krcniq-nginx-quic/conf/fastcgi.conf; include /nix/store/mwibmbkyhimr43bkbrpz9sway6krcniq-nginx-quic/conf/uwsgi_params; default_type application/octet-stream; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; client_max_body_size 10m; server_tokens off; server { listen 0.0.0.0:443 http3 reuseport; listen 0.0.0.0:443 ssl http2; add_header Alt-Svc 'h3=":443"'; add_header QUIC-Status $quic; server_name test1.local; root /var/www/test1; ssl_certificate /var/certs/test1.crt; ssl_certificate_key /var/certs/test1.key; } server { listen 0.0.0.0:443 http3 reuseport; listen 0.0.0.0:443 ssl http2; add_header Alt-Svc 'h3=":443"'; add_header QUIC-Status $quic; server_name test2.local; root /var/www/test2; ssl_certificate /var/certs/test2.crt; ssl_certificate_key /var/certs/test2.key; } } ``` Возможно ли заставить работать nginx с протоколом HTTP3 без смены портов? Если убрать строку с протоколом HTTP2, то сервер nginx запускается. Предполагаю, что проверка конфигурации `nginx: [emerg]` не учитывает, что HTTP2 и HTTP3 работают по разным протоколам - tcp и udp. -- С уважением, Izorkin mailto:izorkin на gmail.com From mdounin на mdounin.ru Tue Nov 16 14:59:19 2021 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 16 Nov 2021 17:59:19 +0300 Subject: nginx-1.20.2 Message-ID: Изменения в nginx 1.20.2 16.11.2021 *) Добавление: совместимость с OpenSSL 3.0. *) Исправление: SSL-переменные могли быть пустыми при записи в лог; ошибка появилась в 1.19.5. *) Исправление: keepalive-соединения с gRPC-бэкендами могли не закрываться после получения GOAWAY-фрейма. *) Исправление: SSL-соединения к бэкендам в модуле stream могли зависать после SSL handshake. *) Исправление: SSL-соединения с gRPC-бэкендами могли зависать, если использовались методы select, poll или /dev/poll. *) Исправление: в переменной $content_length при использовании chunked transfer encoding. *) Исправление: при использовании HTTP/2 и директивы aio_write запросы могли зависать. -- Maxim Dounin http://nginx.org/ From 440hz на mail.ru Wed Nov 17 14:31:46 2021 From: 440hz на mail.ru (=?UTF-8?B?0JDQvdC00YDQtdC5INCT0L7Qu9GD0LHQtdCy?=) Date: Wed, 17 Nov 2021 17:31:46 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: <146876086.20211115120158@gmail.com> References: <146876086.20211115120158@gmail.com> Message-ID: <1637159506.817494822@f393.i.mail.ru> нет. вешайте на разные порты и используйте заголовок для разделения   >Понедельник, 15 ноября 2021, 12:02 +03:00 от izorkin на gmail.com: >  >Здравствуйте. >При попытке активировать HTTP3 протокол на 2-х виртуальных хостах выходит ошибка: >``` >nginx: [emerg] duplicate listen options for 0.0.0.0:443 in /etc/nginx/nginx.conf:27 >configuration file /etc/nginx/nginx.conf test failed >``` >Файл конфигурации: >``` >pid /run/nginx/nginx.pid; >error_log stderr; >daemon off; >events { } >http { >  include /nix/store/qd3g8rk5hx5zkb70idjh6fa12sh6bipg-mailcap-2.1.53/etc/nginx/mime.types; >  include /nix/store/mwibmbkyhimr43bkbrpz9sway6krcniq-nginx-quic/conf/fastcgi.conf; >  include /nix/store/mwibmbkyhimr43bkbrpz9sway6krcniq-nginx-quic/conf/uwsgi_params; >  default_type application/octet-stream; >  ssl_protocols TLSv1.2 TLSv1.3; >  ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; >  client_max_body_size 10m; >  server_tokens off; > >  server { >    listen 0.0.0.0:443 http3 reuseport; >    listen 0.0.0.0:443 ssl http2; >    add_header Alt-Svc 'h3=":443"'; >    add_header QUIC-Status $quic; >    server_name test1.local; >    root /var/www/test1; >    ssl_certificate /var/certs/test1.crt; >    ssl_certificate_key /var/certs/test1.key; >  } > >  server { >    listen 0.0.0.0:443 http3 reuseport; >    listen 0.0.0.0:443 ssl http2; >    add_header Alt-Svc 'h3=":443"'; >    add_header QUIC-Status $quic; >    server_name test2.local; >    root /var/www/test2; >    ssl_certificate /var/certs/test2.crt; >    ssl_certificate_key /var/certs/test2.key; >  } >} >``` > >Возможно ли заставить работать nginx с протоколом HTTP3 без смены портов? >Если убрать строку с протоколом HTTP2, то сервер nginx запускается. >Предполагаю, что проверка конфигурации `nginx: [emerg]` не учитывает, что HTTP2 и HTTP3 работают по разным протоколам - tcp и udp. > >-- >С уважением, > Izorkin mailto:izorkin на gmail.com > >_______________________________________________ >nginx-ru mailing list >nginx-ru на nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-ru     С уважением, Андрей Голубев 440hz на mail.ru   ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From pluknet на nginx.com Wed Nov 17 15:35:49 2021 From: pluknet на nginx.com (Sergey Kandaurov) Date: Wed, 17 Nov 2021 18:35:49 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: <146876086.20211115120158@gmail.com> References: <146876086.20211115120158@gmail.com> Message-ID: > On 15 Nov 2021, at 12:01, izorkin на gmail.com wrote: > > Здравствуйте. > При попытке активировать HTTP3 протокол на 2-х виртуальных хостах выходит ошибка: > ``` > nginx: [emerg] duplicate listen options for 0.0.0.0:443 in /etc/nginx/nginx.conf:27 > configuration file /etc/nginx/nginx.conf test failed > Файл конфигурации: > [..] > server { > listen 0.0.0.0:443 http3 reuseport; > listen 0.0.0.0:443 ssl http2; > add_header Alt-Svc 'h3=":443"'; > add_header QUIC-Status $quic; > server_name test1.local; > root /var/www/test1; > ssl_certificate /var/certs/test1.crt; > ssl_certificate_key /var/certs/test1.key; > } > > server { > listen 0.0.0.0:443 http3 reuseport; > listen 0.0.0.0:443 ssl http2; > add_header Alt-Svc 'h3=":443"'; > add_header QUIC-Status $quic; > server_name test2.local; > root /var/www/test2; > ssl_certificate /var/certs/test2.crt; > ssl_certificate_key /var/certs/test2.key; > } Параметр reuseport не может быть указан больше одного раза, о чём свидетельствует сообщение об ошибке. Подробнее см. документацию: http://nginx.org/r/listen -- Sergey Kandaurov From izorkin на gmail.com Wed Nov 17 16:48:49 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Wed, 17 Nov 2021 19:48:49 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: References: <146876086.20211115120158@gmail.com> Message-ID: <1046996365.20211117194849@gmail.com> Здравствуйте, Sergey. Спасибо, разобрался. Думал, что параметр reuseport надо использовать обязательно, чтобы активировать одновременную работу по протоколам HTTP2 и HTTP3. Вы писали 17 ноября 2021 г., 18:35:49: >> On 15 Nov 2021, at 12:01, izorkin на gmail.com wrote: >> >> Здравствуйте. >> При попытке активировать HTTP3 протокол на 2-х виртуальных хостах выходит ошибка: >> ``` >> nginx: [emerg] duplicate listen options for 0.0.0.0:443 in /etc/nginx/nginx.conf:27 >> configuration file /etc/nginx/nginx.conf test failed >> Файл конфигурации: >> [..] >> server { >> listen 0.0.0.0:443 http3 reuseport; >> listen 0.0.0.0:443 ssl http2; >> add_header Alt-Svc 'h3=":443"'; >> add_header QUIC-Status $quic; >> server_name test1.local; >> root /var/www/test1; >> ssl_certificate /var/certs/test1.crt; >> ssl_certificate_key /var/certs/test1.key; >> } >> >> server { >> listen 0.0.0.0:443 http3 reuseport; >> listen 0.0.0.0:443 ssl http2; >> add_header Alt-Svc 'h3=":443"'; >> add_header QUIC-Status $quic; >> server_name test2.local; >> root /var/www/test2; >> ssl_certificate /var/certs/test2.crt; >> ssl_certificate_key /var/certs/test2.key; >> } > Параметр reuseport не может быть указан больше одного раза, > о чём свидетельствует сообщение об ошибке. > Подробнее см. документацию: http://nginx.org/r/listen -- С уважением, Izorkin mailto:izorkin на gmail.com From izorkin на gmail.com Wed Nov 17 16:57:39 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Wed, 17 Nov 2021 19:57:39 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: References: <146876086.20211115120158@gmail.com> Message-ID: <459811347.20211117195739@gmail.com> Здравствуйте, Sergey. Также в http://hg.nginx.org/nginx-quic/file/tip/README в рекомендованном примере указан параметр reuseport, что так же вносит маленькую путаницу. -- С уважением, Izorkin mailto:izorkin на gmail.com From red-fox0 на ya.ru Thu Nov 18 02:08:38 2021 From: red-fox0 на ya.ru (fox) Date: Thu, 18 Nov 2021 09:08:38 +0700 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: <1046996365.20211117194849@gmail.com> References: <146876086.20211115120158@gmail.com> <1046996365.20211117194849@gmail.com> Message-ID: <371ccf41-594c-59a9-83cf-5eb3311501b4@ya.ru> HTTP2 использует tcp 443 HTTP3 использует udp 443 Это разные порты. 17.11.2021 23:48, izorkin на gmail.com пишет: > Здравствуйте, Sergey. > > Спасибо, разобрался. Думал, что параметр reuseport надо использовать обязательно, чтобы > активировать одновременную работу по протоколам HTTP2 и HTTP3. > > > Вы писали 17 ноября 2021 г., 18:35:49: > >>> On 15 Nov 2021, at 12:01, izorkin на gmail.com wrote: >>> >>> Здравствуйте. >>> При попытке активировать HTTP3 протокол на 2-х виртуальных хостах выходит ошибка: >>> ``` >>> nginx: [emerg] duplicate listen options for 0.0.0.0:443 in /etc/nginx/nginx.conf:27 >>> configuration file /etc/nginx/nginx.conf test failed > >>> Файл конфигурации: >>> [..] >>> server { >>> listen 0.0.0.0:443 http3 reuseport; >>> listen 0.0.0.0:443 ssl http2; >>> add_header Alt-Svc 'h3=":443"'; >>> add_header QUIC-Status $quic; >>> server_name test1.local; >>> root /var/www/test1; >>> ssl_certificate /var/certs/test1.crt; >>> ssl_certificate_key /var/certs/test1.key; >>> } >>> >>> server { >>> listen 0.0.0.0:443 http3 reuseport; >>> listen 0.0.0.0:443 ssl http2; >>> add_header Alt-Svc 'h3=":443"'; >>> add_header QUIC-Status $quic; >>> server_name test2.local; >>> root /var/www/test2; >>> ssl_certificate /var/certs/test2.crt; >>> ssl_certificate_key /var/certs/test2.key; >>> } > >> Параметр reuseport не может быть указан больше одного раза, >> о чём свидетельствует сообщение об ошибке. >> Подробнее см. документацию: http://nginx.org/r/listen > > > > From nginx-forum на forum.nginx.org Fri Nov 19 05:39:55 2021 From: nginx-forum на forum.nginx.org (nginxwolf) Date: Fri, 19 Nov 2021 00:39:55 -0500 Subject: =?UTF-8?B?0JLRgdC1INC30LDQv9GA0L7RgdGLINGH0LXRgNC10LcgaW5kZXgucGhw?= Message-ID: <19dba7707ede0803a1daa1dabc7d3d97.NginxMailingListRussian@forum.nginx.org> Добрый день У сайта есть Публичка и Админка на одном домене / - публичка /admin/ - админка Вот это правило apache2 прекрасно работает для админки, но на nginx никак не получается это сделать Тут все запросы кроме статики проходят через /admin/index.php в котором проверяются авторизация и все такое RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^admin/(.*)$ admin/index.php?_route_=/$1 [L,QSA] Пример, я открываю php-файл по адресу /admin/test/1.php На апаче этот запрос как-то проходит через /admin/index.php в котором я проверяю авторизацию и все такое и если пользователь не авторизован при открытии любого php-файла в админке увидит форму входа На nginx это не работает и php-файл открывается напрямую, просто как отдельный файл Все возможные примеры в гугле не работают, вот мой пример, он тоже не выполняет данную задачу. #location / { # try_files $uri $uri/ @frontend; #} location !/admin { try_files $uri $uri/ @frontend; } location /admin { try_files $uri $uri/ @backend; } location ~ \.php$ { try_files $uri @frontend @backend; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass $php_sock; } location @frontend { rewrite ^/(.*)$ /index.php?_route_=$1? last; } location @backend { rewrite ^/admin/(.*)$ /admin/index.php?_route_=/$1? last; } Как заставить nginx обрабатывать все запросы (php-файлы) кроме статики через /admin/index.php? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292890,292890#msg-292890 From nginx-forum на forum.nginx.org Fri Nov 19 06:35:11 2021 From: nginx-forum на forum.nginx.org (nginxwolf) Date: Fri, 19 Nov 2021 01:35:11 -0500 Subject: =?UTF-8?B?UmU6INCS0YHQtSDQt9Cw0L/RgNC+0YHRiyDRh9C10YDQtdC3IGluZGV4LnBocA==?= In-Reply-To: <19dba7707ede0803a1daa1dabc7d3d97.NginxMailingListRussian@forum.nginx.org> References: <19dba7707ede0803a1daa1dabc7d3d97.NginxMailingListRussian@forum.nginx.org> Message-ID: <861f6e1bbba0f9332a9f5fc22eb69725.NginxMailingListRussian@forum.nginx.org> Еще добавлю свои мысли Я понимаю, что php-файл обрабатывается в location ~ \.php${} а в location /admin {} не попадает Я пробовал вынести этот location ~ \.php${} отдельно во @frontend и @backend но это не работает Я пробовал в location ~ \.php${} без try_files $uri @frontend @backend; но это не работает Я пробовал именованный @php подставлять во @frontend @backend но это не работает И вот какая еще особенность получается, в публичке вот этот location ~ \.php${} работает корректно, php-файл открывается напрямую, а в админке мне кажется должен быть какой-то отдельный location ~* ^/admin/(.+\.php)$ в котором должно быть что-то типа try_files $uri /admin/index.php?$args; location ~* ^/admin/(.+\.php)$ { try_files $uri /admin/index.php?_route_=/$args; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass $php_sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } Но это тоже не работает, да и кучу еще других вариантов пробовал, все не работает Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292890,292891#msg-292891 From izorkin на gmail.com Sat Nov 20 21:17:08 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Sun, 21 Nov 2021 00:17:08 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: <371ccf41-594c-59a9-83cf-5eb3311501b4@ya.ru> References: <146876086.20211115120158@gmail.com> <1046996365.20211117194849@gmail.com> <371ccf41-594c-59a9-83cf-5eb3311501b4@ya.ru> Message-ID: <735998192.20211121001708@gmail.com> Здравствуйте. В итоге HTTP3 у меня заработало, но столкнулся со следующей проблемой - не получается войти в почту через Roundcube. Конфигурация: ``` location / { try_files $uri @backend; } location ~ .*\.(xml|jpeg|jpg|gif|png|css|js|pdf|txt|tar|ico|zip|wav|sql|bat|crt|gz)$ { try_files $uri =404; expires 7d; access_log off; log_not_found off; } location ~* \.php$ { return 403; } location @backend { proxy_pass http://127.0.0.1:1234/$request_uri; proxy_send_timeout 60s; proxy_read_timeout 60s; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto http; } ``` Как только убираю строки с `proxy_set_header` то начинает работать нормально. Что надо добавить в `proxy_set_header` чтобы сайт работал корректно? -- С уважением, Izorkin mailto:izorkin на gmail.com From bgx на protva.ru Sat Nov 20 22:08:35 2021 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Sun, 21 Nov 2021 01:08:35 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: <735998192.20211121001708@gmail.com> References: <146876086.20211115120158@gmail.com> <1046996365.20211117194849@gmail.com> <371ccf41-594c-59a9-83cf-5eb3311501b4@ya.ru> <735998192.20211121001708@gmail.com> Message-ID: On Sun, Nov 21, 2021 at 12:17:08AM +0300, izorkin на gmail.com wrote: > В итоге HTTP3 у меня заработало, но столкнулся со следующей проблемой - не получается войти в почту через Roundcube. > Конфигурация: ... > proxy_set_header Host $host; ... > Как только убираю строки с `proxy_set_header` то начинает работать нормально. > Что надо добавить в `proxy_set_header` чтобы сайт работал корректно? Следует указать то, что прописано виртуалхостом этого сайта. А что там прописано -- смотрите конфиг сервера, запускающего раундкубовские php-ки. -- Eugene Berdnikov From izorkin на gmail.com Sun Nov 21 11:52:38 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Sun, 21 Nov 2021 14:52:38 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: References: <146876086.20211115120158@gmail.com> <1046996365.20211117194849@gmail.com> <371ccf41-594c-59a9-83cf-5eb3311501b4@ya.ru> <735998192.20211121001708@gmail.com> Message-ID: <16310501390.20211121145238@gmail.com> Здравствуйте, Evgeniy. Испробовал различные варианты - не помогло. С `proxy_set_header Host $host;` сервис gitea работает нормально, а вот Mastodon и RoundCube не хотят. Вы писали 21 ноября 2021 г., 1:08:35: > On Sun, Nov 21, 2021 at 12:17:08AM +0300, izorkin на gmail.com wrote: >> В итоге HTTP3 у меня заработало, но столкнулся со следующей проблемой - не получается войти в почту через Roundcube. >> Конфигурация: > ... >> proxy_set_header Host $host; > ... >> Как только убираю строки с `proxy_set_header` то начинает работать нормально. >> Что надо добавить в `proxy_set_header` чтобы сайт работал корректно? > Следует указать то, что прописано виртуалхостом этого сайта. > А что там прописано -- смотрите конфиг сервера, запускающего > раундкубовские php-ки. -- С уважением, Izorkin mailto:izorkin на gmail.com From bgx на protva.ru Sun Nov 21 13:29:52 2021 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Sun, 21 Nov 2021 16:29:52 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: <16310501390.20211121145238@gmail.com> References: <146876086.20211115120158@gmail.com> <1046996365.20211117194849@gmail.com> <371ccf41-594c-59a9-83cf-5eb3311501b4@ya.ru> <735998192.20211121001708@gmail.com> <16310501390.20211121145238@gmail.com> Message-ID: On Sun, Nov 21, 2021 at 02:52:38PM +0300, izorkin на gmail.com wrote: > Здравствуйте, Evgeniy. > > Испробовал различные варианты - не помогло. 1. Вы не написали что именно пробовали. 2. Нужно не пробовать наугад, а посмотреть что посылает nginx в Host:. 3. Вы не сделали то, что предлагалось: > > Следует указать то, что прописано виртуалхостом этого сайта. > > А что там прописано -- смотрите конфиг сервера, запускающего > > раундкубовские php-ки. -- Eugene Berdnikov From izorkin на gmail.com Sun Nov 21 15:42:25 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Sun, 21 Nov 2021 18:42:25 +0300 Subject: =?UTF-8?B?UmU6IG5naW54OiDQt9Cw0L/Rg9GB0LogSFRUUDMg0L/RgNC+0YLQvtC60L7Qu9Cw?= =?UTF-8?B?INC90LAg0L3QtdGB0LrQvtC70YzQutC40YUg0YXQvtGB0YLQsNGFLg==?= In-Reply-To: References: <146876086.20211115120158@gmail.com> <1046996365.20211117194849@gmail.com> <371ccf41-594c-59a9-83cf-5eb3311501b4@ya.ru> <735998192.20211121001708@gmail.com> <16310501390.20211121145238@gmail.com> Message-ID: <426817731.20211121184225@gmail.com> Здравствуйте, Evgeniy. Пробовал проверить что выдаёт nginx в браузер через Heaader `add_header check-nginx-host $host always;` Отображается реальное имя сайта. Если активировать HTTP3 - всё так же. Пробовал так же прописать такие варианты: ``` proxy_set_header Host "my_site_name"; proxy_set_header Host localhost; ``` Если прописать значение по умолчанию - `proxy_set_header Host $proxy_host;` - тоже перестаёт работать. Странно... Не смог разобраться как вытащить реальное значение `proxy_set_header Host` в nginx по умолчанию. У меня сервис RoundCube запущен через nginx-unit и слушает порт `*:1234`. Настроек, связанных с виртуальными хостами нет. Сервис Mastodon висит на Unix сокетах. В его настройках сразу прописывается имя реального сайта. Вы писали 21 ноября 2021 г., 16:29:52: > On Sun, Nov 21, 2021 at 02:52:38PM +0300, izorkin на gmail.com wrote: >> Здравствуйте, Evgeniy. >> >> Испробовал различные варианты - не помогло. > 1. Вы не написали что именно пробовали. > 2. Нужно не пробовать наугад, а посмотреть что посылает nginx в Host:. > 3. Вы не сделали то, что предлагалось: -- С уважением, Izorkin mailto:izorkin на gmail.com From nginx-forum на forum.nginx.org Wed Nov 24 07:45:03 2021 From: nginx-forum на forum.nginx.org (alex123456) Date: Wed, 24 Nov 2021 02:45:03 -0500 Subject: =?UTF-8?B?0YDQsNC30L3Ri9C1INC30L3QsNGH0LXQvdC40Y8gZmFzdGNnaSBjYWNoZSB2YWxp?= =?UTF-8?B?ZCDQtNC70Y8g0YDQsNC30L3Ri9GFINC30LDQv9GA0L7RgdC+0LI=?= Message-ID: <11daa58849efa28b99d053dbf80cb443.NginxMailingListRussian@forum.nginx.org> Привет! использую fastcgi_cache в nginx. появилась необходимость кешировать разные запросы на разное время столкнулся с тем что в директиву fastcgi_cache_valid нельзя передать переменную if ($request_uri ~* "/(api/1|api/2)") { set $no_cache 0; set $cache_valid 5m; } ... fastcgi_cache_valid 200 $cache_valid; // так будет ошибка fastcgi_cache_valid 200 1m; // так сраблотает Подскажите какие может есть варианты реализации разного времени жизни кэша? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292932,292932#msg-292932 From red-fox0 на ya.ru Wed Nov 24 08:13:10 2021 From: red-fox0 на ya.ru (fox) Date: Wed, 24 Nov 2021 15:13:10 +0700 Subject: =?UTF-8?B?UmU6INGA0LDQt9C90YvQtSDQt9C90LDRh9C10L3QuNGPIGZhc3RjZ2kgY2FjaGUg?= =?UTF-8?B?dmFsaWQg0LTQu9GPINGA0LDQt9C90YvRhSDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: <11daa58849efa28b99d053dbf80cb443.NginxMailingListRussian@forum.nginx.org> References: <11daa58849efa28b99d053dbf80cb443.NginxMailingListRussian@forum.nginx.org> Message-ID: <4ebb4ecf-31fb-1c01-360c-2ac8ff16784e@ya.ru> Как-то так: location /api/ { # дефолтное поведение fastcgi_cache_valid 200 1m; #... } location /api/1/ { fastcgi_cache_valid 200 5m; #... } 24.11.2021 14:45, alex123456 пишет: > Привет! > использую fastcgi_cache в nginx. > появилась необходимость кешировать разные запросы на разное время > столкнулся с тем что в директиву fastcgi_cache_valid нельзя передать > переменную > > if ($request_uri ~* "/(api/1|api/2)") > { > set $no_cache 0; > set $cache_valid 5m; > } > ... > > fastcgi_cache_valid 200 $cache_valid; // так будет ошибка > > fastcgi_cache_valid 200 1m; // так сраблотает > > Подскажите какие может есть варианты реализации разного времени жизни кэша? > > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292932,292932#msg-292932 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From nginx-forum на forum.nginx.org Wed Nov 24 11:05:47 2021 From: nginx-forum на forum.nginx.org (alex123456) Date: Wed, 24 Nov 2021 06:05:47 -0500 Subject: =?UTF-8?B?UmU6INGA0LDQt9C90YvQtSDQt9C90LDRh9C10L3QuNGPIGZhc3RjZ2kgY2FjaGUg?= =?UTF-8?B?dmFsaWQg0LTQu9GPINGA0LDQt9C90YvRhSDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: <4ebb4ecf-31fb-1c01-360c-2ac8ff16784e@ya.ru> References: <4ebb4ecf-31fb-1c01-360c-2ac8ff16784e@ya.ru> Message-ID: <5b4195aca808f53a2e1d8c7b7d495d69.NginxMailingListRussian@forum.nginx.org> да. заработало так. спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292933,292934#msg-292934 From izorkin на gmail.com Wed Nov 24 19:58:40 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Wed, 24 Nov 2021 22:58:40 +0300 Subject: =?UTF-8?B?bmdpbnhRdWljOiDQv9C+0LTQtNC10YDQttC60LAgT3BlbnNzbCDQsdC40LHQu9C4?= =?UTF-8?B?0L7RgtC10LrQuCBxdWlja3Rscw==?= Message-ID: <1707287570.20211124225840@gmail.com> Здравствуйте. Собрал nginx с библиотекой QuicTLS - https://github.com/quictls/openssl При активации протокола HTTP3 на нескольких хостах в лог начинаются сыпаться такие ошибки: ``` 2021/11/24 22:52:45 [error] 40152#40152: *51 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443 2021/11/24 22:52:45 [error] 40151#40151: *52 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443 2021/11/24 22:52:45 [error] 40153#40153: *53 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443 ``` Если использовать BoringSSL с аналогичной конфигурацией, то такой ошибки нету. -- С уважением, Izorkin mailto:izorkin на gmail.com From pluknet на nginx.com Thu Nov 25 11:17:56 2021 From: pluknet на nginx.com (Sergey Kandaurov) Date: Thu, 25 Nov 2021 14:17:56 +0300 Subject: =?UTF-8?B?UmU6IG5naW54UXVpYzog0L/QvtC00LTQtdGA0LbQutCwIE9wZW5zc2wg0LHQuNCx?= =?UTF-8?B?0LvQuNC+0YLQtdC60LggcXVpY2t0bHM=?= In-Reply-To: <1707287570.20211124225840@gmail.com> References: <1707287570.20211124225840@gmail.com> Message-ID: > On 24 Nov 2021, at 22:58, izorkin на gmail.com wrote: > > Здравствуйте. > > Собрал nginx с библиотекой QuicTLS - https://github.com/quictls/openssl > При активации протокола HTTP3 на нескольких хостах в лог начинаются сыпаться такие ошибки: > ``` > 2021/11/24 22:52:45 [error] 40152#40152: *51 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443 > 2021/11/24 22:52:45 [error] 40151#40151: *52 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443 > 2021/11/24 22:52:45 [error] 40153#40153: *53 SSL_do_handshake() failed (SSL: error:0A0C0101:SSL routines::called a function you should not call) while handling frames, client: 91...., server: 0.0.0.0:443 > ``` > Если использовать BoringSSL с аналогичной конфигурацией, то такой ошибки нету. Этой информации недостаточно. Какая ревизия quictls? Что в дебаге вокруг этих сообщений? Чтобы включить дебаг, см. http://nginx.org/ru/docs/debugging_log.html -- Sergey Kandaurov From izorkin на gmail.com Thu Nov 25 19:19:39 2021 From: izorkin на gmail.com (izorkin на gmail.com) Date: Thu, 25 Nov 2021 22:19:39 +0300 Subject: =?UTF-8?B?UmU6IG5naW54UXVpYzog0L/QvtC00LTQtdGA0LbQutCwIE9wZW5zc2wg0LHQuNCx?= =?UTF-8?B?0LvQuNC+0YLQtdC60LggcXVpY2t0bHM=?= In-Reply-To: References: <1707287570.20211124225840@gmail.com> Message-ID: <1993149354.20211125221939@gmail.com> Здравствуйте, Sergey. Сперва идёт попытка соединиться по протоколу IPv6, потом по IPv4. Debug-log - https://pastebin.com/7hdqHAht Quictls rev 62d4de0 - https://github.com/quictls/openssl/commit/62d4de00abfa82fc01efa2eba1982a86c4864f39 NginxQuick rev d041b8d6ab0b - http://hg.nginx.org/nginx-quic/rev/d041b8d6ab0b Вы писали 25 ноября 2021 г., 14:17:56: > Этой информации недостаточно. > Какая ревизия quictls? Что в дебаге вокруг этих сообщений? > Чтобы включить дебаг, см. http://nginx.org/ru/docs/debugging_log.html -- С уважением, Izorkin mailto:izorkin на gmail.com From gmm на csdoc.com Fri Nov 26 19:16:10 2021 From: gmm на csdoc.com (Gena Makhomed) Date: Fri, 26 Nov 2021 21:16:10 +0200 Subject: =?UTF-8?B?0KHQv9C+0YHQvtCx0Ysg0LHQvtGA0YzQsdGLINGBIG5naW54IGNhY2hlIHBvbGx1?= =?UTF-8?B?dGlvbg==?= Message-ID: <3ff01c8f-6a90-1b2b-ccc2-f054982acb70@csdoc.com> Здравствуйте, All! Можно ли настроить nginx + njs таким образом, чтобы некоторые get-параметры он вырезал из запроса перед передачей их на backend? например, ?utm_source=instagram&utm_medium=hipolink&utm_campaign=slidebutton ?gclid=CjwKCAiAqIKNBhAIEiwAu_ZLDrzAZL_PrmbGRP-cyi5liGx-lMu3oapGZ ?fbclid=PAAaYJCb3hTyRmuCIZaobrn3WTbdwhYZq2c6oXVoHCqB1fcRj18jJCqS и т.п. backend - это php-fpm, доступ через сокет: fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; видел как это программируют на конфигах nginx с помощью директивы map: https://serverfault.com/a/1062189 - но это наверное есть не самый оптимальный способ? может быть кто-то это уже делал с помощью njs и может поделиться примером кода? С другой стороны - feature эта полезная будет всем, кто пользуется nginx cache, поэтому может быть имеет смысл запрограммировать эту feature прямо на C и сделать доступной конфигурированию с помощью директив в конфиге, например, fastcgi_cache_ignore_args utm_* gclid fbclid; эти utm_* gclid fbclid и им подобные ощутимо уменьшают эффективность кеша nginx. MISS /pagination/collection/sale?fbclid=PAAabJiB... MISS /collection/sale?gclid=CjwKCAiAqIKNBhAEiwAu... -- Best regards, Gena