Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-05-06 | Static: implemented MIME filtering | Oisin Canty | 1 | -1/+5 | |
2021-04-29 | Static: support for openat2() features. | Zhidao HONG | 1 | -0/+2 | |
Support for chrooting, rejecting symlinks, and rejecting crossing mounting points on a per-request basis during static file serving. | |||||
2021-04-22 | Router: grouped app and share fields in nxt_http_action_t. | Zhidao HONG | 1 | -3/+9 | |
This is a prerequisite for further introduction of openat2() features. No functional changes. | |||||
2020-12-08 | PHP: populating PHP_AUTH_* server variables. | Valentin Bartenev | 1 | -0/+1 | |
This closes #498 issue on GitHub. | |||||
2020-11-17 | Router: matching regular expressions support. | Axel Duch | 1 | -0/+6 | |
2020-08-13 | Basic variables support. | Valentin Bartenev | 1 | -4/+8 | |
2020-08-12 | Responding with error in case of first process start failure. | Max Romanov | 1 | -0/+4 | |
After shared application port introducing, request queue in router was removed and requests may stuck forever waiting for another process start. | |||||
2020-06-23 | Upstream chunked transfer encoding support. | Igor Sysoev | 1 | -1/+0 | |
2020-05-14 | PHP: implemented "targets" option. | Valentin Bartenev | 1 | -0/+2 | |
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 | -1/+4 | |
This is useful to escape "/" in path fragments. For example, in order to reference the application named "foo/bar": { "pass": "applications/foo%2Fbar" } | |||||
2020-04-16 | Using malloc/free for the http fields hash. | Max Romanov | 1 | -3/+3 | |
This is required due to lack of a graceful shutdown: there is a small gap between the runtime's memory pool release and router process's exit. Thus, a worker thread may start processing a request between these two operations, which may result in an http fields hash access and subsequent crash. To simplify issue reproduction, it makes sense to add a 2 sec sleep before exit() in nxt_runtime_exit(). | |||||
2020-03-21 | Implemented "location" option for "return" action. | Valentin Bartenev | 1 | -0/+2 | |
This allows to specify redirects: { "action": { "return": 301, "location": "https://www.example.com/" } } | |||||
2020-03-27 | Implemented "return" action. | Valentin Bartenev | 1 | -0/+7 | |
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-19 | Completing request header buffers to avoid memory leak. | Max Romanov | 1 | -1/+2 | |
Before this fix, only persistent connection request buffers were completed. This issue was introduced in dc403927ab0b. | |||||
2020-03-06 | Round robin upstream added. | Igor Sysoev | 1 | -3/+15 | |
2020-03-03 | Added a "fallback" option to be used with the "share" action. | Valentin Bartenev | 1 | -0/+1 | |
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" } } } | |||||
2019-11-14 | Processing inconsistent proxied response length. | Igor Sysoev | 1 | -0/+2 | |
Keepalive connection is disabled if upstream response length differs from specified in the "Content-Length" field value. | |||||
2019-11-14 | Initial proxy support. | Igor Sysoev | 1 | -2/+39 | |
2019-11-14 | Using request task. | Igor Sysoev | 1 | -0/+1 | |
2019-11-14 | Replacing pass with action. | Igor Sysoev | 1 | -10/+10 | |
2019-09-19 | Basic support for serving static files. | Valentin Bartenev | 1 | -0/+29 | |
2019-08-26 | Adding body handler to nxt_http_request_header_send(). | Igor Sysoev | 1 | -2/+4 | |
2019-08-20 | Introducing websocket support in router and libunit. | Max Romanov | 1 | -0/+28 | |
2019-08-06 | nxt_h1proto_t definition was moved to h1proto implementation. | Igor Sysoev | 1 | -19/+1 | |
2019-08-06 | Refactored HTTP protocol callback table. | Igor Sysoev | 1 | -22/+19 | |
2019-07-24 | Added routing based on request scheme. | Axel Duch | 1 | -2/+0 | |
Scheme matches exact string “http” or “https”. | |||||
2019-05-30 | Added routing based on cookies. | Igor Sysoev | 1 | -0/+1 | |
2019-05-30 | Added routing based on arguments. | Igor Sysoev | 1 | -0/+1 | |
2019-03-21 | Adjusting request schema value according to connection tls state. | Max Romanov | 1 | -1/+3 | |
This closes #223 issue on GitHub. | |||||
2019-03-06 | Removed unnecessary abstraction layer. | Alexander Borisov | 1 | -0/+4 | |
2019-02-27 | Initial routing implementation. | Igor Sysoev | 1 | -1/+31 | |
2019-02-19 | Validation and normalization of request host. | Valentin Bartenev | 1 | -1/+1 | |
2019-02-18 | Fixed memory leak on response body sending failure. | Igor Sysoev | 1 | -1/+0 | |
2018-09-28 | Disabled chunked transfer encoding for 204 responses. | Igor Sysoev | 1 | -0/+1 | |
2018-09-20 | Added nginx error 497 response. | Igor Sysoev | 1 | -0/+2 | |
2018-07-30 | Sending 408 response on idle connection timeout. | Igor Sysoev | 1 | -0/+2 | |
2018-06-25 | Introduced nxt_length() macro. | Valentin Bartenev | 1 | -3/+3 | |
2018-05-30 | Fixed keep-alive hanging after reconfiguration. | Igor Sysoev | 1 | -3/+2 | |
2018-04-11 | Initial access log support. | Valentin Bartenev | 1 | -6/+13 | |
2018-04-10 | Splitting HTTP processing in more granulate connection states. | Igor Sysoev | 1 | -0/+1 | |
2018-04-03 | HTTP: using r->mem_pool retention counter for response buffers. | Igor Sysoev | 1 | -3/+10 | |
2018-02-12 | HTTP: the Date response header. | Valentin Bartenev | 1 | -0/+1 | |
2018-02-07 | Fixed reading of the rest of body, again. | Valentin Bartenev | 1 | -1/+0 | |
The last attempt in ee5f278e8c81 wasn't enough. | |||||
2018-01-15 | Checking for major HTTP version. | Valentin Bartenev | 1 | -0/+1 | |
2017-12-29 | Using correct pointer and size for memzero operation. | Igor Sysoev | 1 | -1/+5 | |
Found by Coverity (CID 215689). | |||||
2017-12-28 | Removed duplicate declaration. | Igor Sysoev | 1 | -3/+0 | |
2017-12-28 | HTTP keep-alive connections support. | Igor Sysoev | 1 | -0/+181 | |