release of the application server , as part of which a solution is developed to enable the launch of web applications in various programming languages (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, and Java). Under NGINX Unit, multiple applications in different programming languages can run simultaneously, with launch parameters that can be dynamically changed without the need to edit configuration files or restart. The code is written in C and is licensed under Apache 2.0. You can explore the features of NGINX Unit at the first release.
In the new version:
- using the expressions "return" and "location" in "action" blocks for immediate returns of arbitrary status codes or redirects to external resources. For example, to block access to URIs that match the pattern "*/.git/*" or redirect to a host with www, the following settings can be used:
{
"match": {
"uri": "*/.git/*"
},"action": {
"return": 403
}
}{
"match": {
"host": "example.org",
},"action": {
"return": 301,
"location": "https://www.example.org"
}
} - Support for fractional weight values of servers in "". For example, a setup with whole weights implying a redirect to 192.168.0.103 for half the number of requests as for the others:
{
"192.168.0.101:8080": {
"weight": 2
},
"192.168.0.102:8080": {
"weight": 2
},
"192.168.0.103:8080": { },
"192.168.0.104:8080": {
"weight": 2
}
}can now be simplified and made more logical:
{
"192.168.0.101:8080": { },
"192.168.0.102:8080": { },
"192.168.0.103:8080": {
"weight": 0.5
},
"192.168.0.104:8080": { }
} - Build issues with DragonFly BSD have been resolved;
- Fixed an error that caused a 502 "Bad Gateway" code output under heavy load;
- Memory leak in router fixed, appearing since release 1.13.0;
- Incompatibilities with some Node.js applications have been eliminated.
Source: opennet.ru
