Re: Вопросы по http2 push

2018-02-27 Thread Nick Lavlinsky - Method Lab

27.02.2018 17:32, Ruslan Ermilov пишет:


Нет, сейчас такой возможности нет и вряд ли она появится.

Сейчас nginx дожидается заголовка ответа на основной запрос,
прежде чем отправить PUSH_PROMISE'ы и собственно начать пушить
ответы.  Причин тому несколько.  Во-первых, это единственный
способ при конвертации Link preload'ов в push'и.  Во-вторых,
если так не делать, и ответа на основной запрос нет (например,
бэкенд неживой), то непонятно, на каком основании вообще мы
должны делать push.



Очень жаль, такой режим увеличил бы эффективность server push 
радикально. Понятно, что делать такое поведение по умолчанию не стоит, 
но если сделать специальную опцию (с описанием и предостережениями), то 
я не вижу проблем. Если бекенд не живой, то путь пройдёт Push, скорее 
всего в нём будет статика, которая не зависит от бекенда.


--

С уважением,
Лавлинский Николай,
Метод Лаб: делаем правильно!
www.methodlab.ru
+7 (499) 519-00-12

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

Re: Вопросы по http2 push

2018-02-27 Thread Nick Lavlinsky - Method Lab

27.02.2018 22:11, S.A.N пишет:

Я не вижу большой пользы от push, очень редкий случай когда нужно отправить
дополнительный  не кешируемый контент без запросов, или я ошибаюсь, вы
можете перечислить свои use case?

Спасибо.

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

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


Здравствуйте!

Не совсем понял ваши слова про "не кешируемый контент".

А use case простой: замена inline CSS, который блокирует отрисовку 
страницы. А также любые ресурсы из критического пути рендеринга страницы.


--

С уважением,
Лавлинский Николай,
Метод Лаб: делаем правильно!
www.methodlab.ru
+7 (499) 519-00-12

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

Re: [PATCH] $request_scheme variable

2018-02-27 Thread Chris Branch via nginx-devel
Hi, just giving this patch some birthday bumps.

> On 27 Feb 2017, at 11:58, Chris Branch via nginx-devel 
>  wrote:
> 
> # HG changeset patch
> # User Chris Branch 
> # Date 1488195909 0
> #  Mon Feb 27 11:45:09 2017 +
> # Node ID 05f555d65a33ebf005fedc569fb52eba3758e1d7
> # Parent  87cf6ddb41c216876d13cffa5e637a61b159362c
> $request_scheme variable.
> 
> Contains the URI scheme supplied by the client. If no scheme supplied,
> equivalent to $scheme.
> 
> Scheme can be supplied by the client in two ways:
> 
> * HTTP/2 :scheme pseudo-header.
> * HTTP/1 absolute URI in request line.
> 
> diff -r 87cf6ddb41c2 -r 05f555d65a33 src/http/ngx_http_variables.c
> --- a/src/http/ngx_http_variables.c   Fri Feb 17 17:01:27 2017 +0300
> +++ b/src/http/ngx_http_variables.c   Mon Feb 27 11:45:09 2017 +
> @@ -105,6 +105,8 @@
> ngx_http_variable_value_t *v, uintptr_t data);
> static ngx_int_t ngx_http_variable_request_id(ngx_http_request_t *r,
> ngx_http_variable_value_t *v, uintptr_t data);
> +static ngx_int_t ngx_http_variable_request_scheme(ngx_http_request_t *r,
> +ngx_http_variable_value_t *v, uintptr_t data);
> static ngx_int_t ngx_http_variable_status(ngx_http_request_t *r,
> ngx_http_variable_value_t *v, uintptr_t data);
> 
> @@ -288,6 +290,10 @@
>   ngx_http_variable_request_id,
>   0, 0, 0 },
> 
> +{ ngx_string("request_scheme"), NULL,
> +  ngx_http_variable_request_scheme,
> +  0, 0, 0 },
> +
> { ngx_string("status"), NULL,
>   ngx_http_variable_status, 0,
>   NGX_HTTP_VAR_NOCACHEABLE, 0 },
> @@ -2158,6 +2164,24 @@
> 
> 
> static ngx_int_t
> +ngx_http_variable_request_scheme(ngx_http_request_t *r,
> +ngx_http_variable_value_t *v, uintptr_t data)
> +{
> +if (r->schema_start) {
> +v->len = r->schema_end - r->schema_start;
> +v->valid = 1;
> +v->no_cacheable = 0;
> +v->not_found = 0;
> +v->data = r->schema_start;
> +
> +return NGX_OK;
> +}
> +
> +return ngx_http_variable_scheme(r, v, data);
> +}
> +
> +
> +static ngx_int_t
> ngx_http_variable_connection(ngx_http_request_t *r,
> ngx_http_variable_value_t *v, uintptr_t data)
> {
> ___
> nginx-devel mailing list
> nginx-devel@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel

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


Re: Как запустить nginx на IP, которое выделяется через OpenVPN

2018-02-27 Thread digger
Огромное спасибо! Действительно, достаточно было запустить nginx на всех
интерфейсах, и все получилось как надо.

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

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

Re: Вопросы по http2 push

2018-02-27 Thread S.A.N
Я не вижу большой пользы от push, очень редкий случай когда нужно отправить
дополнительный  не кешируемый контент без запросов, или я ошибаюсь, вы
можете перечислить свои use case?

Спасибо.

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

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread monah1983
все получилось))) поменял MD5 на sha256

пользовался вот это инструкцией https://habrahabr.ru/post/349720/
СПАСИБО

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

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread monah1983
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled

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

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread Maxim Dounin
Hello!

On Tue, Feb 27, 2018 at 11:17:40AM -0500, monah1983 wrote:

> [Tue Feb 27 15:27:04.404778 2018] [mpm_prefork:notice] [pid 2298] AH00163:
> Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.6.30
> configured -- resuming normal operations

[...]

Это всё имеет мало отношения к nginx'у, так как приведён лог от 
Apache, но если в системе действительно используется OpenSSL-fips, 
то это может накладывать массу неочевидных ограничений, жить с 
которыми - может оказаться нетривальным.

В данном случае - возможно, дело в том, что вы сгенерили 
сертификат с использованием MD5 в подписи, и это приводит к 
ошибкам, потому что в OpenSSL-fips нет MD5.  Если это так, то в 
данном случае FIPS-ограничения всё сделали правильно: не надо 
использовать сертификаты с MD5, это небезопасно.  Впрочем, в 
современных версиях OpenSSL ошибка тоже была бы, и была бы куда 
более читаемой.

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread Maxim Dounin
Hello!

On Tue, Feb 27, 2018 at 10:51:46AM -0500, monah1983 wrote:

> 2018/02/27 17:07:51 [alert] 6852#6852: *36 ignoring stale global SSL error
> (SSL: error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message
> digest algorithm) while waiting for request, client: 00, server:
> 00:443
> 2018/02/27 17:22:56 [alert] 6852#6852: *350 ignoring stale global SSL error
> (SSL: error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message
> digest algorithm) while waiting for request, client: , server: 000:443

Проверьте, с какой версией OpenSSL собран nginx ("nginx -V"), и что
именно используется в сертификатах ("openssl x509 -text -noout -in ").

Если я правильно понимаю, такие ошибки будут, например, если 
пытаться использовать OpenSSL 0.9.7 с современными сертификатами, 
подписанными с помощью SHA256.  С другой стороны - непонятно, 
откуда в современном мире может взяться OpenSSL 0.9.7, так что 
возможно, вы сделали что-то экзотическое при генерации 
сертификата.

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread Maxim Dounin
Hello!

On Tue, Feb 27, 2018 at 10:50:26AM -0500, monah1983 wrote:

> а где именно искать этот лог?

В сообщении, на которое вы отвечали, директива "error_log" была 
процитирована не просто так.

Отмечу также, что в ней уровень логгирования был установлен в 
"error", а нужно - "info".

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread monah1983
[Tue Feb 27 15:27:04.404778 2018] [mpm_prefork:notice] [pid 2298] AH00163:
Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.6.30
configured -- resuming normal operations
[Tue Feb 27 15:27:04.404824 2018] [core:notice] [pid 2298] AH00094: Command
line: '/usr/sbin/httpd -D FOREGROUND'
[Tue Feb 27 16:00:24.650271 2018] [mpm_prefork:notice] [pid 2298] AH00170:
caught SIGWINCH, shutting down gracefully
[Tue Feb 27 16:00:25.875222 2018] [suexec:notice] [pid 3500] AH01232: suEXEC
mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Feb 27 16:00:25.876857 2018] [ssl:warn] [pid 3500] AH02292: Init:
Name-based SSL virtual hosts only work for clients with TLS server name
indication support (RFC 4366)
[Tue Feb 27 16:00:25.894014 2018] [so:warn] [pid 3500] AH01574: module
ruid2_module is already loaded, skipping
[Tue Feb 27 16:00:25.987414 2018] [auth_digest:notice] [pid 3500] AH01757:
generating secret for digest authentication ...
[Tue Feb 27 16:00:25.989736 2018] [ssl:warn] [pid 3500] AH02292: Init:
Name-based SSL virtual hosts only work for clients with TLS server name
indication support (RFC 4366)
[Tue Feb 27 16:00:25.991203 2018] [:notice] [pid 3500] mod_ruid2/0.9.8
enabled
[Tue Feb 27 16:00:26.130481 2018] [mpm_prefork:notice] [pid 3500] AH00163:
Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.6.30
configured -- resuming normal operations
[Tue Feb 27 16:00:26.130545 2018] [core:notice] [pid 3500] AH00094: Command
line: '/usr/sbin/httpd -D FOREGROUND'

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

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread monah1983
2018/02/27 17:07:51 [alert] 6852#6852: *36 ignoring stale global SSL error
(SSL: error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message
digest algorithm) while waiting for request, client: 00, server:
00:443
2018/02/27 17:22:56 [alert] 6852#6852: *350 ignoring stale global SSL error
(SSL: error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message
digest algorithm) while waiting for request, client: , server: 000:443

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

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

Re: 400 Bad RequestThe SSL certificate error

2018-02-27 Thread monah1983
а где именно искать этот лог?

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

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

Re: Вопросы по http2 push

2018-02-27 Thread Ruslan Ermilov
On Tue, Feb 27, 2018 at 10:17:07AM +0300, Nick Lavlinsky - Method Lab wrote:
> Здравствуйте!
> 
> Начал тестировать http2_push сразу после релиза. Появилось 2 вопроса.
> 
> 1. Есть ли возможность пушить ресурсы до ответа на основной запрос (так 
> делает у себя Fastly, называя async push)? Таким образом можно получить 
> экономию не только в 1RTT, но и за счет серверного времени на генерацию 
> html (https://www.fastly.com/blog/optimizing-http2-server-push-fastly).

Нет, сейчас такой возможности нет и вряд ли она появится.

Сейчас nginx дожидается заголовка ответа на основной запрос,
прежде чем отправить PUSH_PROMISE'ы и собственно начать пушить
ответы.  Причин тому несколько.  Во-первых, это единственный
способ при конвертации Link preload'ов в push'и.  Во-вторых,
если так не делать, и ответа на основной запрос нет (например,
бэкенд неживой), то непонятно, на каком основании вообще мы
должны делать push.

> 2. При использовании директивы http2_push в конфиге сайта браузеры 
> (Chrome Stable и 66, FF 58.0.2) показывают, что только 1 ресурс был 
> запушен, хотя стоят сразу несколько (смотрю в DevTools с отключенным 
> кэшем). Например:
> 
>      location / {
>      proxy_pass http://127.0.0.1:9090/pcgi/index.pl?$uri?&$args;
>      proxy_redirect off;
> 
>      proxy_set_header   Host $host;
>      proxy_set_header   X-Real-IP    $remote_addr;
>      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
> 
>      http2_push /css/colorbox.css;
>      http2_push /img/design/logo.png;
>      http2_push /js/core.js;
>      http2_push /images/border.png;
>      http2_push /img/no_foto.png;
>      http2_push /js/jq/jquery-2.1.3.min.js;
> 
>      }
> 
> В браузерах отображается в виде push только /img/design/logo.png, так 
> как этот ресурс используется на странице (остальные - нет). Поведение 
> одинаково и в Chrome и в FF.
> 
> Если делать push через заголовок Link (http2_push_preload on;), то в 
> Chrome все ресурсы показываются в DevTools.

При этом внизу выдаётся warning, что некоторые ресурсы не используются.

> В FF показываются только те 
> ресурсы, которые используются на странице.
> 
> При анализе загрузки ресурсов через nghttp -ans или Webpagetest всегда 
> (и в http2_push, и в http2_push_preload) видны все push запросы.
> 
> Не знаю, бага это или фича, может будет полезно.

В chrome://net-internals/#http2 видно, что они push'атся.  Почему
так по-разному показывает DevTools, я лично не знаю.  Но это точно
не вопрос к nginx'у.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

400 Bad RequestThe SSL certificate error

2018-02-27 Thread monah1983
Добрый день!
Есть проблема. 
Есть vps с vestacp. На ней несколько доменов. 
На одном из них включил ssl через Lets Encrypt.
Также включен -  Поддержка ProxyNGINX
Создал сертификат CA, подписал и отдал пользователю сертификат. 
При заходе на сайт, требует сертификат, его выбираю, и потом ошибка 400 Bad
RequestThe SSL certificate error
вот мой конфиг 
server {
listen  *:443;
server_name ***.tk www.***.tk;
ssl on;
ssl_certificate  /home/admin/conf/web/ssl.***.tk.pem; - тут
сертификаты Lets Encrypt
ssl_certificate_key  /home/admin/conf/web/ssl.***.tk.key; тут
сертификаты Lets Encrypt
ssl_client_certificate /etc/ssl/***.tk/ca.crt;  - тут мой
ssl_verify_client on;
ssl_ciphers
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AES:!ECDH+3DES:!DH+3DES:!RSA+3DES:!aNULL:!MD5:!DSS;
ssl_verify_depth 1;
keepalive_timeout 70;
fastcgi_param SSL_VERIFIED $ssl_client_verify;
fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial;
fastcgi_param SSL_CLIENT_CERT $ssl_client_cert;
fastcgi_param SSL_DN $ssl_client_s_dn;
error_log  /var/log/httpd/domains/.tk.error.log error;

location / {
proxy_pass  https://*:8443;
location ~*
^.+\.(jpg|jpeg|gif|png|ico|svg|css|zip|tgz|gz|rar|bz2|exe|pdf|doc|xls|ppt|txt|odt|ods|odp|odf|tar|bmp|rtf|js|mp3|avi|mpeg|flv|html|htm)$
{
root   /home/admin/web/.tk/public_html;
access_log /var/log/httpd/domains/***.tk.log combined;
access_log /var/log/httpd/domains/***.tk.bytes bytes;

expiresmax;
try_files  $uri @fallback;
}
}

location /error/ {
alias   /home/admin/web/***.tk/document_errors/;
}

location @fallback {
proxy_pass  https://*:8443;
}

location ~ /\.ht{return 404;}
location ~ /\.svn/  {return 404;}
location ~ /\.git/  {return 404;}
location ~ /\.hg/   {return 404;}
location ~ /\.bzr/  {return 404;}

include /home/admin/conf/web/snginx.***.tk.conf*;
}
В чем может быть дело?

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

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

[nginx] Modules compatibility: additional upstream metrics.

2018-02-27 Thread Vladimir Homutov
details:   http://hg.nginx.org/nginx/rev/d0d32b33167d
branches:  
changeset: 7219:d0d32b33167d
user:  Vladimir Homutov 
date:  Thu Feb 22 17:25:43 2018 +0300
description:
Modules compatibility: additional upstream metrics.

diffstat:

 src/http/ngx_http_upstream.h |  1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diffs (11 lines):

diff -r e48ac0136ee3 -r d0d32b33167d src/http/ngx_http_upstream.h
--- a/src/http/ngx_http_upstream.h  Mon Feb 26 16:52:20 2018 +0200
+++ b/src/http/ngx_http_upstream.h  Thu Feb 22 17:25:43 2018 +0300
@@ -61,6 +61,7 @@ typedef struct {
 ngx_msec_t   response_time;
 ngx_msec_t   connect_time;
 ngx_msec_t   header_time;
+ngx_msec_t   queue_time;
 off_tresponse_length;
 off_tbytes_received;
 
___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel


Re: Как запустить nginx на IP, которое выделяется через OpenVPN

2018-02-27 Thread Gena Makhomed

On 27.02.2018 14:36, digger wrote:


Мне нужно запустить nginx на адресе IP, который выделяется клиентом
OpenVPN.
Проблема в том, что этот адрес появляется не сразу после загрузки хоста, а
через некоторое время.

Соответственно, nginx видит, что адреса IP, прописанного в конфиге, нет, и
не запускается.
Руками потом запустить можно, но должно запускаться автоматически сразу, как
только IP будет доступен.

Подскажите, пожалуйста, как лучше организовать такой запуск?


Есть два варианта. Самый простой - это сделать так, чтобы nginx слушал
на всех интерфейсах, везде прописать "listen 80" и не указывать явно IP.

Второй вариант - прописать net.ipv4.ip_nonlocal_bind=1 в sysctl,
тогда nginx запустится, даже если в данный момент IP не доступен.

--
Best regards,
 Gena

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

Re: fsync()-in webdav PUT

2018-02-27 Thread Maxim Dounin
Hello!

On Tue, Feb 27, 2018 at 11:21:23AM +0100, Nagy, Attila wrote:

> I would like to make sure when a WebDAV (with ngx_http_dav) PUT returns 
> the file is reliably on the storage. This needs an fsync() on the file.
> It would be easy to put that into the module, but it would block the 
> whole nginx process.
> 
> Now, that nginx supports running threads, are there plans to convert at 
> least DAV PUTs into it's own thread(pool), so make it possible to do 
> non-blocking (from nginx's event loop PoV) fsync on the uploaded file?

No, there are no such plans.

(Also, trying to do fsync() might not be the best idea even in 
threads.  A reliable server might be a better option.)

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


Re: Как запустить nginx на IP, которое выделяется через OpenVPN

2018-02-27 Thread Pavel V.
Здравствуйте, digger.

Вы писали 27 февраля 2018 г., 19:36:49:

> Мне нужно запустить nginx на адресе IP, который выделяется клиентом
> OpenVPN.
> Проблема в том, что этот адрес появляется не сразу после загрузки хоста, а
> через некоторое время.

Это у вас неправильная конфигурация.

Настройте систему, чтобы она автоматически создавала и конфигурировала 
интерфейс при старте.

должно быть аналогичное тому, что сделает пара команд:

openvpn --mktun --dev tap0
ifconfig tap0 inet 192.168.1.2/24
 маршрутизация...


В конфиге OpenVPN:

dev tap0
#dev tun0
ifconfig-noexec

Но есть нюанс - этот айпи не "выделяется клиентом" а "прибит гвоздями", что,
впрочем, не слишком противоречит вашему сообщению, т.к. если бы он был бы
неизвестен, то не был бы и указан в конфиге nginx.

> Соответственно, nginx видит, что адреса IP, прописанного в конфиге, нет, и
> не запускается.
> Руками потом запустить можно, но должно запускаться автоматически сразу, как
> только IP будет доступен.

> Подскажите, пожалуйста, как лучше организовать такой запуск?
> Если через crontab, то как проверять, что nginx запущен, и как его
> запустить, если он не работает?
> Спасибо!




-- 
С уважением,
 Pavel  mailto:pavel2...@ngs.ru

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

Re: Как запустить nginx на IP, которое выделяется через OpenVPN

2018-02-27 Thread Роман Москвитин
openvpn умеет дергать скрипт после поднятия и при опущении..

2018-02-27 15:36 GMT+03:00 digger :

> Мне нужно запустить nginx на адресе IP, который выделяется клиентом
> OpenVPN.
> Проблема в том, что этот адрес появляется не сразу после загрузки хоста, а
> через некоторое время.
>
> Соответственно, nginx видит, что адреса IP, прописанного в конфиге, нет, и
> не запускается.
> Руками потом запустить можно, но должно запускаться автоматически сразу,
> как
> только IP будет доступен.
>
> Подскажите, пожалуйста, как лучше организовать такой запуск?
> Если через crontab, то как проверять, что nginx запущен, и как его
> запустить, если он не работает?
> Спасибо!
>
> Posted at Nginx Forum: https://forum.nginx.org/read.
> php?21,278789,278789#msg-278789
>
> ___
> 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 на IP, которое выделяется через OpenVPN

2018-02-27 Thread digger
Мне нужно запустить nginx на адресе IP, который выделяется клиентом
OpenVPN.
Проблема в том, что этот адрес появляется не сразу после загрузки хоста, а
через некоторое время.

Соответственно, nginx видит, что адреса IP, прописанного в конфиге, нет, и
не запускается.
Руками потом запустить можно, но должно запускаться автоматически сразу, как
только IP будет доступен.

Подскажите, пожалуйста, как лучше организовать такой запуск?
Если через crontab, то как проверять, что nginx запущен, и как его
запустить, если он не работает?
Спасибо!

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

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

[njs] Fixed memory leak in CLI.

2018-02-27 Thread Dmitry Volyntsev
details:   http://hg.nginx.org/njs/rev/ee00992356d9
branches:  
changeset: 451:ee00992356d9
user:  Dmitry Volyntsev 
date:  Tue Feb 27 14:10:36 2018 +0300
description:
Fixed memory leak in CLI.

diffstat:

 njs/njs.c |  8 ++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (25 lines):

diff -r 757271547b56 -r ee00992356d9 njs/njs.c
--- a/njs/njs.c Tue Feb 20 19:12:55 2018 +0300
+++ b/njs/njs.c Tue Feb 27 14:10:36 2018 +0300
@@ -253,6 +253,7 @@ njs_interactive_shell(njs_opts_t *opts, 
 }
 
 if (njs_externals_init(vm) != NXT_OK) {
+fprintf(stderr, "failed to add external protos\n");
 return NXT_ERROR;
 }
 
@@ -389,8 +390,11 @@ njs_process_file(njs_opts_t *opts, njs_v
 goto done;
 }
 
-if (njs_externals_init(vm) != NXT_OK) {
-return NXT_ERROR;
+ret = njs_externals_init(vm);
+if (ret != NXT_OK) {
+fprintf(stderr, "failed to add external protos\n");
+ret = NXT_ERROR;
+goto done;
 }
 
 ret = njs_process_script(vm, opts, , );
___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel


[njs] Fixed the unit test's output format for a failed test.

2018-02-27 Thread Dmitry Volyntsev
details:   http://hg.nginx.org/njs/rev/0f1c3efcd894
branches:  
changeset: 452:0f1c3efcd894
user:  Dmitry Volyntsev 
date:  Tue Feb 27 14:11:00 2018 +0300
description:
Fixed the unit test's output format for a failed test.

diffstat:

 njs/test/njs_unit_test.c |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (14 lines):

diff -r ee00992356d9 -r 0f1c3efcd894 njs/test/njs_unit_test.c
--- a/njs/test/njs_unit_test.c  Tue Feb 27 14:10:36 2018 +0300
+++ b/njs/test/njs_unit_test.c  Tue Feb 27 14:11:00 2018 +0300
@@ -9466,8 +9466,8 @@ njs_unit_test(nxt_bool_t disassemble, nx
 
 printf("njs(\"%.*s\")\nexpected: \"%.*s\"\n got: \"%.*s\"\n",
(int) njs_test[i].script.length, njs_test[i].script.start,
-   (int) s.length, s.start, (int) njs_test[i].ret.length,
-   njs_test[i].ret.start);
+   (int) njs_test[i].ret.length, njs_test[i].ret.start,
+   (int) s.length, s.start);
 
 goto done;
 }
___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel


fsync()-in webdav PUT

2018-02-27 Thread Nagy, Attila

Hi,

I would like to make sure when a WebDAV (with ngx_http_dav) PUT returns 
the file is reliably on the storage. This needs an fsync() on the file.
It would be easy to put that into the module, but it would block the 
whole nginx process.


Now, that nginx supports running threads, are there plans to convert at 
least DAV PUTs into it's own thread(pool), so make it possible to do 
non-blocking (from nginx's event loop PoV) fsync on the uploaded file?


Thanks,

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


Re: ipv6 и error 400

2018-02-27 Thread Dmytro Lavryk
Alex Vorona Wrote:
---
> Hello,
> 
> 
> 26.02.18 12:22, Dmytro Lavryk wrote:
> 
> > Где-то на просторах гугла нарыл совет обязательно убрать строку "ssl
> on;" из
> > конфига. Тайного смысла не понял. но строка была, убрал. Пока
> ответов с
> > кодом 400 нету - наблюдаю. Возможно это и есть решение, только мне
> непонятно
> > "в чем заковыка".
> 
> ssl on; включал SSL на всех listen соответствующего server. Скорее
> всего 
> у вас 400-ки были на 80-м порту, добавление $server_port в формат
> логов 
> при сохранении ssl on сможет ответить на этот вопрос.

Похоже дело именно в ssl on; - после того, как его убрал  - за сутки ни
одного кода ответа 400.

Большое спасибо, всем, принимавшим участие в обсуждении!

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

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

Re: your mail

2018-02-27 Thread Francis Daly
On Tue, Feb 27, 2018 at 12:29:54PM +0530, Pritam Chavan wrote:

Hi there,

> I have checked my backend system It is working fine. If I hit same url
> without nginx reverse proxy its giving proper output.
> Example: For following configuration
> 
> location /bsg/ltp/live/$arg_name/$arg_name {
> proxy_pass http://localhost:8041;
> }

For info, you are almost certainly not actually using that location{} block.

$variables are not expanded in "location" directives.

It may well be that your :8041 backend is working fine; but the error
message you showed was about your :8042 backend; and as far as nginx
was concerned:

upstream sent invalid chunked response

> If I hit above url without nginx reverse proxy then its giving proper
> output.

How do you know?

Can you use something like "tcpdump" to show the traffic from the backend
when nginx reports a problem, and when things work correctly?

Perhaps that will show what the difference is.

In the logs you provided, the request was "GET /bsg/scrips"; does nginx
always report a problem when you make that request?

Good luck with it,

f
-- 
Francis Dalyfran...@daoine.org
___
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx


Re: Flush access log buffer

2018-02-27 Thread oscaretu .
Hello!

If you have installed sysdig
, [
https://www.sysdig.org/] (a kind of strace but for all the computer, not
just for a only process) you can do commands like:

  sysdig fd.name contains .gz

and it will show information about who is accessing any file that contains
".gz" in its name.

root@veve0410:/home/oscar# *sysdig proc.name =nginx and
fd.name  contains access*
2828 08:45:18.248862970 1 nginx (28325) > write
fd=75(/html/logs/nginx/produccion/portal/access.log) size=331
2829 08:45:18.248867711 1 nginx (28325) < write res=331 data=66.249.79.51 -
- [27/Feb/2018:08:45:18 +0100] \"GET /diario/1991/04/10/internacio
15081 08:45:19.538002590 1 nginx (28325) > write
fd=75(/html/logs/nginx/produccion/portal/access.log) size=124
15082 08:45:19.538007576 1 nginx (28325) < write res=124
data=104.199.186.40 - - [27/Feb/2018:08:45:19 +0100] \"GET
/elpais/portada_america.htm
19211 08:45:19.718872876 1 nginx (28325) > write
fd=75(/html/logs/nginx/produccion/portal/access.log) size=332
19212 08:45:19.718877388 1 nginx (28325) < write res=332 data=66.249.79.45
- - [27/Feb/2018:08:45:19 +0100] \"GET /diario/2005/08/23/catalunya/
22775 08:45:20.215718840 1 nginx (28325) > write
fd=75(/html/logs/nginx/produccion/portal/access.log) size=330
22776 08:45:20.215723447 1 nginx (28325) < write res=330 data=66.249.79.42
- - [27/Feb/2018:08:45:20 +0100] \"GET /diario/2009/05/23/babelia/12
^Croot@veve0410:/home/oscar#

sysdig can be a great help to watch what is happening in your linux
computer.

Here you have other examples of what you can do with sysdig / csysdig
(sorry, the explanations are in Spanish):

csysdig# versión de tipo 'top', desde la que se puede activar la
traza de cada proceso
sysdig -h  # ayuda
sysdig -l
sysdig -cl # lista los chisels disponibles. Mira en
/usr/share/sysdig/chisels/ los que vienen de serie. Mira en
/usr/share/sysdig/chisels/ los que vienen de serie
sysdig -L  # listar los eventos que se pueden capturar
sysdig "proc.name=httpd and evt.type=open and fd.num<0 and evt.dir =<"
# comprobar errores al abrir ficheros

sysdig -c spy_ip 10.168.1.100 # Ver la conversación que tiene lugar con esa IP
  # Si se hace desde un frontal, se ven
las peticiones HTTP
  # hechas por los navegadores y las
respuestas del servidor

sudo sysdig -c echo_fds "fd.name not contains /dev/" # Mostrar accesos
a ficheros, con cierto filtro adicional
sysdig fd.name contains sitemap  # Vigilar accesos
a ficheros de sitemaps

sysdig proc.name=httpd and proc.pid = 23216
sysdig proc.pid = 23216
sysdig proc.apid = 23216 # procesos cuyo padre sea el proceso de PID 23216
sysdig proc.name=httpd
sysdig -w apache-durante-atasco-nanosleep-al-recibir-SIGHUP.scap
proc.name=httpd # está en /html/tmp de veve0223
sysdig -r apache-durante-atasco-nanosleep-al-recibir-SIGHUP.scap
  # reproducir las operaciones guardadas con -w
sysdig -p"%evt.time %evt.arg.name" evt.type=open
  # mostrar el instante
sysdig -p"%evt.num %evt.arg.name" evt.type=open
  # mostrar el numero; sirve para luego filtrar un rango por
el numero
sysdig -r apache-durante-atasco-nanosleep-al-recibir-SIGHUP.scap
-p"%evt.num %evt.arg.name" evt.type=open # mostrar el numero
sysdig -r apache-durante-atasco-nanosleep-al-recibir-SIGHUP.scap
"evt.num > 3362620" | less  # ignorar eventos anteriores a uno dado

sysdig "not evt.type in ('select', 'switch', 'clock_gettime',
'rt_sigprocmask', 'ioctl')" #  es posible que esto no funcione en los
servidores, pero sí en mi portátil (versión más reciente)
sysdig proc.name=searchd and evt.type=recvfrom # para que se muestren
las IPs y puertos que se conectan al daemon de búsqueda de Sphinx

sysdig -c lsof "fd.type=ipv4"   # equivale a lsof -i que sirve para
listar todas las conexiones de red,
# aunque con lsof veo que indica si es
TCP o UDP. Para separar las que
# son TCP o UDP, tienes que ejecutar
por separado los dos comandos siguientes
sysdig -c lsof "fd.l4proto=tcp" # Versión restringida a TCP del
comando anterior, equivalente a lsof -i tcp
sysdig -c lsof "fd.l4proto=udp" # Versión restringida a UDP del
comando anterior, equivalente a lsof -i udp

csysdig -v files# Ficheros a los que se va accediendo,
con refresco de pantalla
csysdig -v file_opens   # Ficheros a los que se va accediento,
en modo lista acumulada


Kind regards,
Oscar

On Tue, Feb 27, 2018 at 3:32 AM, li...@lazygranch.com 
wrote:

> On Fri, 23 Feb 2018 18:54:48 -0800
> "li...@lazygranch.com"  wrote:
>
> > On Thu, 22 Feb 2018 18:40:12 -0800
> > "li...@lazygranch.com"  wrote:
> >
> > > When I was using FreeBSD, the access log was real time. Since I went
> > > to Centos, that doesn't seem to be the case. Is there some way to
> > >