From t.stark at f5.com Tue Sep 13 12:20:53 2022 From: t.stark at f5.com (Timo Stark) Date: Tue, 13 Sep 2022 12:20:53 +0000 Subject: Unit 1.28. released Message-ID: Hi NGINX Unit community, We are happy to announce Unit 1.28! This release sets the first milestone for observability. It is now possible to get basic information about connections, requests, and other per-application metrics via our powerful RESTful JSON API. In addition, we introduce new variables and the ability to use them to customize the access log format. Besides the long-awaited statistics and logging use cases, we also present: *) Enhanced forward header handling with new configuration syntax and X-Forwarded-Proto support. *) Support for abstract Unix domain sockets in listeners on Linux-like systems. *) Fixes for several community-reported bugs. For more information about the new features, visit: https://unit.nginx.org/news/2022/unit-1.28.0-released/ Changes with Unit 1.28.0 13 Sep 2022 *) Change: increased the applications' startup timeout. *) Change: disallowed abstract Unix domain socket syntax in non-Linux systems. *) Change: increased the applications' startup timeout. *) Change: disallowed abstract Unix domain socket syntax in non-Linux systems. *) Feature: basic statistics API. *) Feature: customizable access log format. *) Feature: more HTTP variables support. *) Feature: forwarded header to replace client address and protocol. *) Feature: ability to get dynamic variables. *) Feature: support for abstract Unix sockets. *) Feature: support for Unix sockets in address matching. *) Feature: the $dollar variable translates to a literal "$" during variable substitution. *) Bugfix: router process could crash if index file didn't contain an extension. *) Bugfix: force SCRIPT_NAME in Ruby to always be an empty string. *) Bugfix: when isolated PID numbers reach the prototype process host PID, the prototype crashed. *) Bugfix: the Ruby application process could crash on SIGTERM. *) Bugfix: the Ruby application process could crash on SIGINT. *) Bugfix: mutex leak in the C API. Platform Updates *) Docker: The Unit JSC11 Image is now based on eclipse-temurin instead of openjdk. *) Docker: Go Image version bump: 1.18 to 1.19 *) Docker: Perl Image version bump: 5.34 to 5.36 Wbr, Timo & the Unit team From agoyeneche at gmail.com Fri Sep 16 16:36:03 2022 From: agoyeneche at gmail.com (Ariel Goyeneche) Date: Fri, 16 Sep 2022 18:36:03 +0200 Subject: configure: checking for python....not found Message-ID: Hi Team, I am trying hard to get nginx unit running with python 3.9.12 as a module. Given that the binaries are not available for nginx with this module, I am trying to compile nginx from source. The problem is that the ./configure python documentation is not clear for me. --config=pathname. : what is this config referring to? my python 3.9.12 installation does not have any config file. Where can I find more information about this? --lib-path=directory: is this the path to the python 3.9.12 lib folder? Any option that I am using is saying checking for python....not found ./configure: error: no python found Regards, AG -- Ariel Goyeneche -------------- next part -------------- An HTML attachment was scrubbed... URL: From pluknet at nginx.com Fri Sep 16 17:12:10 2022 From: pluknet at nginx.com (Sergey Kandaurov) Date: Fri, 16 Sep 2022 21:12:10 +0400 Subject: configure: checking for python....not found In-Reply-To: References: Message-ID: <4988E1FB-49F3-4453-89D2-A1A239C756C6@nginx.com> > On 16 Sep 2022, at 20:36, Ariel Goyeneche wrote: > > Hi Team, > > I am trying hard to get nginx unit running with python 3.9.12 as a module. Given that the binaries are not available for nginx with this module, I am trying to compile nginx from source. > The problem is that the ./configure python documentation is not clear for me. It is quite clear: $ ./configure python --help --config=FILE set python-config filename --module=NAME set unit python module name --lib-path=DIRECTORY set directory path to libpython.so library > > --config=pathname. : what is this config referring to? my python 3.9.12 installation does not have any config file. Where can I find more information about this? In your case that would be python-config or python3.9-config > > --lib-path=directory: is this the path to the python 3.9.12 lib folder? > Usually you don't need this. This option is useful when python-config does not setup path to libpython. -- Sergey Kandaurov From andrew at digital-domain.net Fri Sep 16 17:34:55 2022 From: andrew at digital-domain.net (Andrew Clayton) Date: Fri, 16 Sep 2022 18:34:55 +0100 Subject: configure: checking for python....not found In-Reply-To: References: Message-ID: <20220916183455.3b5f2495@kappa.digital-domain.net> On Fri, 16 Sep 2022 18:36:03 +0200 Ariel Goyeneche wrote: > Hi Team, > > I am trying hard to get nginx unit running with python 3.9.12 as a module. > Given that the binaries are not available for nginx with this module, I am > trying to compile nginx from source. > The problem is that the ./configure python documentation is not clear for > me. If you installed python via your package manager then perhaps you are simply missing the python-devel package, exact name will depend on your distribution. If you installed it manually yourself into some non-standard directory then... > --config=pathname. : what is this config referring to? my python > 3.9.12 installation does not have any config file. Where can I find > more information > about this? This is the path to the python-config script that will say how to build against the python libraries. E.g $ which python-config /usr/bin/python-config [ side note It outputs something like... $ python-config --cflags --libs -I/usr/include/python3.10 -I/usr/include/python3.10 -Wno-unused-result -Wsign-compare -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -lcrypt -ldl -lm -lm all that gets passed to the compiler command. ] You may need this depending on how you installed python. > --lib-path=directory: is this the path to the python 3.9.12 lib folder? I assume you can use this to say where unit can find the python DSO, e.g $ locate libpython3.so /usr/lib64/libpython3.so That's from the Python3 package installed on Fedora. Again, if you've installed python in a non-standard location you may need to specify this. > Regards, > AG Cheers, Andrew From tobias.genannt at kappa-velorum.net Tue Sep 20 17:16:35 2022 From: tobias.genannt at kappa-velorum.net (Tobias Genannt) Date: Tue, 20 Sep 2022 19:16:35 +0200 Subject: unit statistics Message-ID: <793d3980-4a62-f9ee-c744-679f5309dff5@kappa-velorum.net> Hello, I was just testing the new statistics feature, which looks really nice. I'm using Unit inside a docker container and the configuration API should only be visible inside the container, but I would like to see the statistics from the outside. So to solve the problem I added a route like this: { "match": { "uri": "/status/*" }, "action": { "proxy": "http://unix:/opt/unit/unit.sock" } } This works as expected but now all calls to the /status/ will change the stats. So it would be nice if the stats could be disabled for a route or if this is not possible for a listener. I also noticed that my connections object looks like this: connections": { "accepted": 8, "active": -41, "idle": 0, "closed": 49 } Notice the negative number for "active". For reference the complete configuration is this: https://github.com/netbox-community/netbox-docker/blob/release/docker/nginx-unit.json + the additional route as seen above. Greetings, Tobias From z.hong at f5.com Fri Sep 23 09:06:17 2022 From: z.hong at f5.com (Zhidao HONG) Date: Fri, 23 Sep 2022 09:06:17 +0000 Subject: =?gb2312?B?tPC4tDogdW5pdCBzdGF0aXN0aWNz?= In-Reply-To: <793d3980-4a62-f9ee-c744-679f5309dff5@kappa-velorum.net> References: <793d3980-4a62-f9ee-c744-679f5309dff5@kappa-velorum.net> Message-ID: Hi Tobias, We are working on it and we have found the cause of the issue. Likely, we will create an issue on GitHub and share the fixing patch next week. Thanks for your report. 发件人: Tobias Genannt 日期: 星期三, 2022年9月21日 01:17 收件人: unit at nginx.org 主题: unit statistics EXTERNAL MAIL: unit-bounces at nginx.org Hello, I was just testing the new statistics feature, which looks really nice. I'm using Unit inside a docker container and the configuration API should only be visible inside the container, but I would like to see the statistics from the outside. So to solve the problem I added a route like this: { "match": { "uri": "/status/*" }, "action": { "proxy": "http://unix:/opt/unit/unit.sock" } } This works as expected but now all calls to the /status/ will change the stats. So it would be nice if the stats could be disabled for a route or if this is not possible for a listener. I also noticed that my connections object looks like this: connections": { "accepted": 8, "active": -41, "idle": 0, "closed": 49 } Notice the negative number for "active". For reference the complete configuration is this: https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnetbox-community%2Fnetbox-docker%2Fblob%2Frelease%2Fdocker%2Fnginx-unit.json&data=05%7C01%7Cz.hong%40f5.com%7C7fe304e29c694284951408da9b2c08e4%7Cdd3dfd2f6a3b40d19be0bf8327d81c50%7C0%7C0%7C637992910721327110%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2BEAQVO1v1rCLMK5duflAswy0Y8l4wQLMaiWOSY6OIzA%3D&reserved=0 + the additional route as seen above. Greetings, Tobias _______________________________________________ unit mailing list -- unit at nginx.org To unsubscribe send an email to unit-leave at nginx.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From z.hong at f5.com Mon Sep 26 05:46:46 2022 From: z.hong at f5.com (Zhidao HONG) Date: Mon, 26 Sep 2022 05:46:46 +0000 Subject: =?gb2312?B?tPC4tDogdW5pdCBzdGF0aXN0aWNz?= In-Reply-To: References: <793d3980-4a62-f9ee-c744-679f5309dff5@kappa-velorum.net> Message-ID: Just to share that we created an issue for this. https://github.com/nginx/unit/issues/760 发件人: Zhidao HONG via unit 日期: 星期五, 2022年9月23日 17:07 收件人: unit at nginx.org , Tobias Genannt 抄送: Zhidao HONG 主题: 答复: unit statistics EXTERNAL MAIL: unit-bounces+z.hong=f5.com at nginx.org Hi Tobias, We are working on it and we have found the cause of the issue. Likely, we will create an issue on GitHub and share the fixing patch next week. Thanks for your report. 发件人: Tobias Genannt 日期: 星期三, 2022年9月21日 01:17 收件人: unit at nginx.org 主题: unit statistics EXTERNAL MAIL: unit-bounces at nginx.org Hello, I was just testing the new statistics feature, which looks really nice. I'm using Unit inside a docker container and the configuration API should only be visible inside the container, but I would like to see the statistics from the outside. So to solve the problem I added a route like this: { "match": { "uri": "/status/*" }, "action": { "proxy": "http://unix:/opt/unit/unit.sock" } } This works as expected but now all calls to the /status/ will change the stats. So it would be nice if the stats could be disabled for a route or if this is not possible for a listener. I also noticed that my connections object looks like this: connections": { "accepted": 8, "active": -41, "idle": 0, "closed": 49 } Notice the negative number for "active". For reference the complete configuration is this: https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnetbox-community%2Fnetbox-docker%2Fblob%2Frelease%2Fdocker%2Fnginx-unit.json&data=05%7C01%7Cz.hong%40f5.com%7C7fe304e29c694284951408da9b2c08e4%7Cdd3dfd2f6a3b40d19be0bf8327d81c50%7C0%7C0%7C637992910721327110%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2BEAQVO1v1rCLMK5duflAswy0Y8l4wQLMaiWOSY6OIzA%3D&reserved=0 + the additional route as seen above. Greetings, Tobias _______________________________________________ unit mailing list -- unit at nginx.org To unsubscribe send an email to unit-leave at nginx.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobias.genannt at kappa-velorum.net Thu Sep 29 08:30:12 2022 From: tobias.genannt at kappa-velorum.net (Tobias Genannt) Date: Thu, 29 Sep 2022 10:30:12 +0200 Subject: =?UTF-8?B?UmU6IOetlOWkjTogdW5pdCBzdGF0aXN0aWNz?= In-Reply-To: References: <793d3980-4a62-f9ee-c744-679f5309dff5@kappa-velorum.net> Message-ID: Hi, thanks for the quick fix! Do you have any comment on this feature request: > This works as expected but now all calls to the /status/ will change the > stats. So it would be nice if the stats could be disabled for a route or > if this is not possible for a listener. Greetings, Tobias On 26/09/2022 07:46, Zhidao HONG wrote: > Just to share that we created an issue for this. > > https://github.com/nginx/unit/issues/760 From z.hong at f5.com Thu Sep 29 09:27:24 2022 From: z.hong at f5.com (Zhidao HONG) Date: Thu, 29 Sep 2022 09:27:24 +0000 Subject: =?gb2312?B?tPC4tDogtPC4tDogdW5pdCBzdGF0aXN0aWNz?= In-Reply-To: References: <793d3980-4a62-f9ee-c744-679f5309dff5@kappa-velorum.net> Message-ID: Hi, First, We think It is not an ideal way to make an another API proxing to control status API, it looks like a workaround at the moment. We will enhance the security like TLS on the control API in the future. Secondly, there is no plan to support an option to disable statistic on specific listening or route. But you are welcome to elaborate why it is required after the security on control API is supported. 发件人: Tobias Genannt 日期: 星期四, 2022年9月29日 16:30 收件人: Zhidao HONG , unit at nginx.org 主题: Re: 答复: unit statistics EXTERNAL MAIL: tobias.genannt at kappa-velorum.net Hi, thanks for the quick fix! Do you have any comment on this feature request: > This works as expected but now all calls to the /status/ will change the > stats. So it would be nice if the stats could be disabled for a route or > if this is not possible for a listener. Greetings, Tobias On 26/09/2022 07:46, Zhidao HONG wrote: > Just to share that we created an issue for this. > > https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnginx%2Funit%2Fissues%2F760&data=05%7C01%7Cz.hong%40f5.com%7C2131db8e31a04096fb8008daa1f4e3df%7Cdd3dfd2f6a3b40d19be0bf8327d81c50%7C0%7C0%7C638000370454145275%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZgYhCQEqCImXssEStAmnnW12SqkTnC5%2BEJgGeJUKksQ%3D&reserved=0 -------------- next part -------------- An HTML attachment was scrubbed... URL: