Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-05-14 | Router: decode uri and args. | Axel Duch | 1 | -2/+115 | |
2020-05-14 | PHP: implemented "targets" option. | Valentin Bartenev | 1 | -23/+179 | |
This allows to specify multiple subsequent targets inside PHP applications. For example: { "listeners": { "*:80": { "pass": "routes" } }, "routes": [ { "match": { "uri": "/info" }, "action": { "pass": "applications/my_app/phpinfo" } }, { "match": { "uri": "/hello" }, "action": { "pass": "applications/my_app/hello" } }, { "action": { "pass": "applications/my_app/rest" } } ], "applications": { "my_app": { "type": "php", "targets": { "phpinfo": { "script": "phpinfo.php", "root": "/www/data/admin", }, "hello": { "script": "hello.php", "root": "/www/data/test", }, "rest": { "root": "/www/data/example.com", "index": "index.php" }, } } } } | |||||
2020-05-14 | Configuration: URI encoding in the "pass" option. | Valentin Bartenev | 1 | -33/+27 | |
This is useful to escape "/" in path fragments. For example, in order to reference the application named "foo/bar": { "pass": "applications/foo%2Fbar" } | |||||
2020-03-30 | Rational number support in upstream server weight. | Igor Sysoev | 1 | -7/+7 | |
2020-03-30 | Configuration: support for rational numbers. | Valentin Bartenev | 1 | -7/+7 | |
2020-03-21 | Implemented "location" option for "return" action. | Valentin Bartenev | 1 | -0/+5 | |
This allows to specify redirects: { "action": { "return": 301, "location": "https://www.example.com/" } } | |||||
2020-03-27 | Implemented "return" action. | Valentin Bartenev | 1 | -4/+34 | |
The "return" action can be used to immediately generate a simple HTTP response with an arbitrary status: { "action": { "return": 404 } } This is especially useful for denying access to specific resources. | |||||
2020-03-12 | Using disk file to store large request body. | Max Romanov | 1 | -0/+10 | |
This closes #386 on GitHub. | |||||
2020-03-06 | Round robin upstream added. | Igor Sysoev | 1 | -0/+130 | |
2020-03-03 | Added a "fallback" option to be used with the "share" action. | Valentin Bartenev | 1 | -0/+5 | |
It allows proceeding to another action if a file isn't available. An example: { "share": "/data/www/", "fallback": { "pass": "applications/php" } } In the example above, an attempt is made first to serve a request with a file from the "/data/www/" directory. If there's no such file, the request is passed to the "php" application. Fallback actions may be nested: { "share": "/data/www/", "fallback": { "share": "/data/cache/", "fallback": { "proxy": "http://127.0.0.1:9000" } } } | |||||
2020-03-03 | Improved validation of the "action" object. | Valentin Bartenev | 1 | -16/+41 | |
Now it enforces the mutual exclusivity of "pass", "proxy", and "share" options. | |||||
2019-12-24 | Router: introducing routing on listener address. | Axel Duch | 1 | -0/+5 | |
2019-12-24 | Router: introducing routing on client address. | Axel Duch | 1 | -0/+68 | |
2019-12-24 | Adding "limits/shm" configuration validation and parsing. | Max Romanov | 1 | -0/+5 | |
2019-11-14 | Initial proxy support. | Igor Sysoev | 1 | -4/+37 | |
2019-10-10 | Style fixes. | Igor Sysoev | 1 | -10/+9 | |
2019-10-09 | Configuration: added check for mandatory options of "action". | Valentin Bartenev | 1 | -2/+33 | |
2019-09-19 | Basic support for serving static files. | Valentin Bartenev | 1 | -0/+129 | |
2019-09-19 | Initial applications isolation support using Linux namespaces. | Tiago de Bem Natel de Moura | 1 | -67/+236 | |
2019-08-20 | Introducing websocket support in router and libunit. | Max Romanov | 1 | -0/+25 | |
2019-07-24 | Added routing based on request scheme. | Axel Duch | 1 | -0/+29 | |
Scheme matches exact string “http” or “https”. | |||||
2019-05-30 | Added routing based on header fields. | Igor Sysoev | 1 | -2/+66 | |
2019-04-12 | Controller: rejecting double wildcards. | Valentin Bartenev | 1 | -1/+6 | |
2019-04-10 | Added support for wildcards in the middle of match patterns. | Igor Sysoev | 1 | -3/+24 | |
2019-03-22 | Style fixing. | Max Romanov | 1 | -0/+1 | |
This closes #233 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao). | |||||
2019-02-28 | Introducing Java Servlet Container beta. | Max Romanov | 1 | -0/+71 | |
2019-02-27 | Controller: added "routes" configuration. | Valentin Bartenev | 1 | -0/+186 | |
2019-02-27 | Controller: added "pass" configuration option. | Valentin Bartenev | 1 | -0/+62 | |
2018-10-09 | Renamed "go" application type to "external". | Valentin Bartenev | 1 | -16/+16 | |
There's nothing specific to Go language. This type of application object can be used to run any external application that utilizes libunit API. | |||||
2018-09-20 | Controller: certificates storage interface. | Valentin Bartenev | 1 | -0/+52 | |
2018-07-09 | Controller: added "settings" configuration object. | Valentin Bartenev | 1 | -0/+45 | |
It has the following structure and default values: { "http": { "header_read_timeout": 30, "body_read_timeout": 30, "send_timeout": 30, "idle_timeout": 180, "max_body_size": 8388608 } } | |||||
2018-07-02 | Fixed error message about "spare" value. | Valentin Bartenev | 1 | -1/+1 | |
2018-06-25 | Introduced nxt_length() macro. | Valentin Bartenev | 1 | -1/+1 | |
2018-06-20 | Using own popcount where the compiler builtin is not available. | Sergey Kandaurov | 1 | -1/+1 | |
2018-06-07 | PHP: added setting of individual configuration options. | Valentin Bartenev | 1 | -0/+30 | |
2018-06-07 | PHP: added setting of php.ini configuration file path. | Valentin Bartenev | 1 | -0/+15 | |
2018-06-06 | Go: specifying command line arguments to the executable. | Valentin Bartenev | 1 | -1/+59 | |
This closes #110 issue on GitHub. | |||||
2018-05-28 | Configuration of environment variables for application processes. | Valentin Bartenev | 1 | -0/+44 | |
2018-04-11 | Initial access log support. | Valentin Bartenev | 1 | -0/+5 | |
2018-03-21 | Added Ruby support. | Alexander Borisov | 1 | -0/+11 | |
2018-02-09 | Changed the default number of spare processes to 0. | Valentin Bartenev | 1 | -1/+1 | |
2018-02-07 | Style fixes. | Andrey Zelenkov | 1 | -5/+3 | |
2018-02-06 | Fixed configuration checks for "max" property. | Andrey Zelenkov | 1 | -16/+11 | |
2018-01-31 | Added Perl support. | Alexander Borisov | 1 | -0/+11 | |
2018-01-29 | Introducing extended app process management. | Max Romanov | 1 | -4/+139 | |
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max' count; - scale down idle application processes above 'processes.spare' after 'processes.idle_timeout'; - number of concurrently started application processes also limited by 'processes.spare' (or 1, if spare is 0). | |||||
2018-01-18 | Ability to validate configuration options with multiple types. | Valentin Bartenev | 1 | -45/+102 | |
2018-01-18 | Reduced duplication of validated app config options. | Max Romanov | 1 | -65/+17 | |
Common options moved to separate array. Application-specific arrays refers to common options. | |||||
2018-01-18 | Introducing pretty NXT_CONF_VLDT_END macro. | Max Romanov | 1 | -6/+9 | |
2017-12-28 | Removed duplicate declaration. | Igor Sysoev | 1 | -1/+1 | |
2017-12-27 | Rescheduling of pending request after configured timeout. | Max Romanov | 1 | -0/+5 | |
New optional configuration parameter introduced: limits.reschedule_timeout. Default value 1 second. In the case when request is written to the port socket 'in advance', it is called 'pending'. On every completed request, the head of pending request is checked against reschedule timeout. If this request waiting for execution longer than timeout, it is cancelled, new port selected for this request. |