summaryrefslogtreecommitdiffhomepage
path: root/src/http/ngx_http.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2015-05-20The "reuseport" option of the "listen" directive.Maxim Dounin1-0/+8
When configured, an individual listen socket on a given address is created for each worker process. This allows to reduce in-kernel lock contention on configurations with high accept rates, resulting in better performance. As of now it works on Linux and DragonFly BSD. Note that on Linux incoming connection requests are currently tied up to a specific listen socket, and if some sockets are closed, connection requests will be reset, see https://lwn.net/Articles/542629/. With nginx, this may happen if the number of worker processes is reduced. There is no such problem on DragonFly BSD. Based on previous work by Sepherosa Ziehau and Yingqi Lu.
2015-05-20Simplified ngx_http_init_listening().Maxim Dounin1-7/+1
There is no need to set "i" to 0, as it's expected to be 0 assuming the bindings are properly sorted, and we already rely on this when explicitly set hport->naddrs to 1. Remaining conditional code is replaced with identical "hport->naddrs = i + 1". Identical modifications are done in the mail and stream modules, in the ngx_mail_optimize_servers() and ngx_stream_optimize_servers() functions, respectively. No functional changes.
2015-04-24Merge proxy_protocol setting of listen directives.Roman Arutyunyan1-1/+4
It's now enough to specify proxy_protocol option in one listen directive to enable it in all servers listening on the same address/port. Previously, the setting from the first directive was always used.
2015-03-23Request body: filters support.Maxim Dounin1-2/+3
2014-09-17Avoided to add duplicate hash key in ngx_http_types_slot().Gu Feng1-1/+5
2014-06-26Fixed wrong sizeof() in ngx_http_init_locations().Maxim Dounin1-2/+2
There is no real difference on all known platforms, but it's still wrong. Found by Coverity (CID 400876).
2014-03-17Added server-side support for PROXY protocol v1 (ticket #355).Roman Arutyunyan1-0/+1
Client address specified in the PROXY protocol header is now saved in the $proxy_protocol_addr variable and can be used in the realip module. This is currently not implemented for mail.
2014-01-28SSL: support ALPN (IETF's successor to NPN).Piotr Sikora1-3/+5
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
2013-12-03Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.Mathew Rodley1-0/+4
--- auto/unix | 12 ++++++++++++ src/core/ngx_connection.c | 32 ++++++++++++++++++++++++++++++++ src/core/ngx_connection.h | 4 ++++ src/http/ngx_http.c | 4 ++++ src/http/ngx_http_core_module.c | 21 +++++++++++++++++++++ src/http/ngx_http_core_module.h | 3 +++ 6 files changed, 76 insertions(+)
2013-09-23Caseless location tree construction (ticket #90).Maxim Dounin1-4/+7
Location tree was always constructed using case-sensitive comparison, even on case-insensitive systems. This resulted in incorrect operation if uppercase letters were used in location directives. Notably, the following config: location /a { ... } location /B { ... } failed to properly map requests to "/B" into "location /B".
2013-03-21Use NGX_DEFAULT_POOL_SIZE macro where appropriate.Ruslan Ermilov1-1/+1
2013-03-20Preliminary experimental support for SPDY draft 2.Valentin Bartenev1-0/+23
2012-07-17Fixed sorting of listen addresses so that wildcard address is always atRuslan Ermilov1-0/+5
the end (closes #187). Failure to do so could result in several listen sockets to be created instead of only one listening on wildcard address. Reported by Roman Odaisky.
2012-04-03Fixed spelling in multiline C comments.Ruslan Ermilov1-1/+1
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-12-05Added the "so_keepalive=" parameter to the "listen" directive.Valentin Bartenev1-0/+7
The "so_keepalive" directive in mail module was deprecated. Thanks to Vsevolod Stakhov for initial work.
2011-09-27Fixed segmentation fault with empty config on Windows.Maxim Dounin1-3/+5
See here for report: http://mailman.nginx.org/pipermail/nginx-ru/2011-September/043288.html
2011-09-23Fixed error message.Ruslan Ermilov1-1/+1
2011-09-19Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov1-1/+1
Fixed nearby grammar errors.
2010-12-12always run regex in server_name to get captures for IPv6 addresses,Igor Sysoev1-1/+5
the same fix for IPv4 addresses has been made in r2584
2010-12-12test wildcard tail hash existance for IPv6 addresses,Igor Sysoev1-2/+2
the same fix for IPv4 addresses has been made in r2581
2010-12-12style fixIgor Sysoev1-1/+1
2010-09-28nginx uses SSL mode for a listen socket with any option set,Igor Sysoev1-1/+1
the bug has been introduced in r3765
2010-09-27allow duplicate listen ssl optionsIgor Sysoev1-0/+10
2010-08-02ngx_http_conf_get_module_srv_conf() and ngx_http_conf_get_module_loc_conf()Igor Sysoev1-33/+75
may be used at merge phase
2010-07-05listen setfib=XIgor Sysoev1-0/+4
2010-06-18return code textIgor Sysoev1-2/+2
2009-12-22fix building by gcc 4.4 with -O2/3/s:Igor Sysoev1-9/+9
dereferencing pointer 'sin' does break strict-aliasing rules
2009-11-30support "*" in gzip_types, ssi_types, etcIgor Sysoev1-7/+26
2009-10-28style fixIgor Sysoev1-1/+1
2009-10-28fix segfault if http {} block is empty, the bug had been introduced in r3218Igor Sysoev1-0/+4
2009-10-26http listen unix domain socketsIgor Sysoev1-0/+16
2009-10-22fix r3225 and r3227: preserve default_server bit during listen optionsIgor Sysoev1-2/+8
overwriting
2009-10-22test a duplicate listen in a serverIgor Sysoev1-0/+11
2009-10-22fix r3225: it overrode the listen options by default server default optionsIgor Sysoev1-4/+8
2009-10-21allow to set listen options in any serverIgor Sysoev1-0/+6
2009-10-21add listen address in error messageIgor Sysoev1-1/+1
2009-10-21rename core_srv_conf fields to more understandable default_server and serverIgor Sysoev1-7/+7
2009-10-21*) move sockaddr to the listen optionsIgor Sysoev1-20/+18
*) rename ngx_http_listen_t to ngx_http_listen_opt_t
2009-10-21fix r3218:Igor Sysoev1-75/+64
Initially building lists of ports, addresses, and server names had been placed at final configuration stage, because complete set of the "listen"s and the "server_names" were required for this operation. r3218 broke it, because the "listen"s go usually first in configuration, and cscf->server_names is empty at this stage, therefore no virtual names were configured. Now server configurations are stored in array for each address:port to configure virtual names. Also regex captures flag is moved from server names to core server configuration.
2009-10-21refactor http listen code: remove duplicate options fieldsIgor Sysoev1-19/+9
2009-10-21refactor http listen code:Igor Sysoev1-82/+41
*) add listen's to the global cmcf->ports array instead of server's one *) rename ngx_http_listen_conf_t to ngx_http_listen_opt_t
2009-09-12If .domain.com, .sub.domain.com, and .domain-some.com were defined,Igor Sysoev1-1/+1
then .sub.domain.com was matched by .domain.com: wildcard names hash was built incorrectly due to sorting order issue of "." vs "-". They were sorted as com.domain com.domain-some com.domain.sub while they should be sorted as com.domain com.domain.sub com.domain-some for correct hash building
2009-05-17update comments missed in r2513Igor Sysoev1-3/+3
2009-05-17update variable name missed in r2513Igor Sysoev1-4/+4
2009-05-05ngx_create_listening()Igor Sysoev1-41/+1
2009-04-30*) refactor error_log processing: listen socket log might inherit built-inIgor Sysoev1-1/+1
error_log with zero level, and r2447, r2466, r2467 were not enough *) remove bogus "stderr" level *) some functions and fields renames
2009-04-09backout r2535: virtual names is a property of address:port pair,Igor Sysoev1-2/+2
but is not a property of server configuration
2009-04-08style fixIgor Sysoev1-10/+10
2009-03-19always run regex in server_name to get capturesIgor Sysoev1-2/+11