summaryrefslogtreecommitdiffhomepage
path: root/auto/options (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-02-21Stream: ngx_stream_pass_module.Roman Arutyunyan1-0/+3
The module allows to pass connections from Stream to other modules such as HTTP or Mail, as well as back to Stream. Previously, this was only possible with proxying. Connections with preread buffer read out from socket cannot be passed. The module allows selective SSL termination based on SNI. stream { server { listen 8000 default_server; ssl_preread on; ... } server { listen 8000; server_name foo.example.com; pass 127.0.0.1:8001; # to HTTP } server { listen 8000; server_name bar.example.com; ... } } http { server { listen 8001 ssl; ... location / { root html; } } }
2023-05-14Stream: removed QUIC support.Roman Arutyunyan1-3/+0
2021-12-29Merged with the default branch.Sergey Kandaurov1-0/+3
2021-12-25PCRE2 library support.Maxim Dounin1-0/+3
The PCRE2 library is now used by default if found, instead of the original PCRE library. If needed for some reason, this can be disabled with the --without-pcre2 configure option. To make it possible to specify paths to the library and include files via --with-cc-opt / --with-ld-opt, the library is first tested without any additional paths and options. If this fails, the pcre2-config script is used. Similarly to the original PCRE library, it is now possible to build PCRE2 from sources with nginx configure, by using the --with-pcre= option. It automatically detects if PCRE or PCRE2 sources are provided. Note that compiling PCRE2 10.33 and later requires inttypes.h. When compiling on Windows with MSVC, inttypes.h is only available starting with MSVC 2013. In older versions some replacement needs to be provided ("echo '#include <stdint.h>' > pcre2-10.xx/src/inttypes.h" is good enough for MSVC 2010). The interface on nginx side remains unchanged.
2021-12-09QUIC: configure cleanup.Ruslan Ermilov1-3/+2
Renamed and removed some macros.
2021-12-06HTTP/3: merged ngx_http_quic_module into ngx_http_v3_module.Roman Arutyunyan1-3/+0
2020-12-25QUIC: ngx_quic_bpf module.Vladimir Homutov1-0/+7
The quic kernel bpf helper inspects packet payload for DCID, extracts key and routes the packet into socket matching the key. Due to reuseport feature, each worker owns a personal socket, which is identified by the same key, used to create DCID. BPF objects are locked in RAM and are subject to RLIMIT_MEMLOCK. The "ulimit -l" command may be used to setup proper limits, if maps cannot be created with EPERM or updated with ETOOLONG.
2020-12-15Core: added interface to linux bpf() system call.Vladimir Homutov1-0/+2
It contains wrappers for operations with BPF maps and for loading BPF programs.
2020-11-24Merged with the default branch.Sergey Kandaurov1-0/+2
2020-11-10Configure: shared sources for addon modules.Maxim Dounin1-0/+1
Addon modules, both dynamic and static, can now use shared source files. Shared sources result in only one make rule even if specified several times in different modules.
2020-11-10Configure: initialization of NGX_ADDON_SRCS.Maxim Dounin1-0/+1
2020-10-01Merged with the default branch.Sergey Kandaurov1-0/+3
2020-08-28Stream: set module.Pavel Pautov1-0/+3
Adds 'set' directive to the stream server context.
2020-07-21QUIC: added "quic" listen parameter in Stream.Roman Arutyunyan1-0/+3
Also, introduced ngx_stream_quic_module.
2020-07-21QUIC: added "quic" listen parameter.Roman Arutyunyan1-0/+3
The parameter allows processing HTTP/0.9-2 over QUIC. Also, introduced ngx_http_quic_module and moved QUIC settings there
2020-04-30Configure: unbreak with old OpenSSL, --with-http_v3_module added.Sergey Kandaurov1-1/+4
2020-03-13HTTP/3.Roman Arutyunyan1-0/+1
2019-05-08Unconditional compilation of the postpone filter.Roman Arutyunyan1-1/+0
Postpone filter is an essential part of subrequest functionality. In absence of it a subrequest response body is sent to the client out of order with respect to the main request header and body, as well as other subrequests. For in-memory subrequests the response is also sent to the client instead of being stored in memory. Currently the postpone filter is automatically enabled if one of the following standard modules which are known to create subrequests is enabled: ssi, slice, addition. However a third-party module that creates subrequests can still be built without the postpone filter or be dynamically loaded in nginx built without it.
2018-06-15Upstream: ngx_http_upstream_random module.Vladimir Homutov1-0/+10
The module implements random load-balancing algorithm with optional second choice. In the latter case, the best of two servers is chosen, accounting number of connections and server weight. Example: upstream u { random [two [least_conn]]; server 127.0.0.1:8080; server 127.0.0.1:8081; server 127.0.0.1:8082; server 127.0.0.1:8083; }
2018-03-19Configure: added gRPC module help message.Sergey Kandaurov1-0/+1
2018-03-17The gRPC proxy module.Maxim Dounin1-0/+2
The module allows passing requests to upstream gRPC servers. The module is built by default as long as HTTP/2 support is compiled in. Example configuration: grpc_pass 127.0.0.1:9000; Alternatively, the "grpc://" scheme can be used: grpc_pass grpc://127.0.0.1:9000; Keepalive support is available via the upstream keepalive module. Note that keepalive connections won't currently work with grpc-go as it fails to handle SETTINGS_HEADER_TABLE_SIZE. To use with SSL: grpc_pass grpcs://127.0.0.1:9000; SSL connections use ALPN "h2" when available. At least grpc-go works fine without ALPN, so if ALPN is not available we just establish a connection without it. Tested with grpc-c++ and grpc-go.
2017-07-20Mirror module.Roman Arutyunyan1-0/+3
2017-03-16Configure: fixed --without_http.Ruslan Ermilov1-13/+0
Instead of turning off some randomly selected http modules when --without-http is specified, just don't process the whole http modules section.
2016-10-04Configure: removed the --with-ipv6 option.Maxim Dounin1-3/+5
IPv6 now compiled-in automatically if support is found. If there is a need to disable it for some reason, --with-cc-opt="-DNGX_HAVE_INET6=0" can be used for this.
2016-10-03Modules compatibility: --with-compat configure option.Maxim Dounin1-0/+6
2016-09-15Stream: ssl_preread module.Vladimir Homutov1-0/+4
The ssl_preread module extracts information from the SSL Client Hello message without terminating SSL. Currently, only $ssl_preread_server_name variable is supported, which contains server name from the SNI extension.
2016-09-01Stream: realip module.Dmitry Volyntsev1-0/+3
2016-07-12Stream: split_clients module.Vladimir Homutov1-0/+5
2016-06-30Stream: geo module.Vladimir Homutov1-0/+3
2016-07-12Stream: geoip module.Vladimir Homutov1-0/+6
2016-05-18Stream: return module.Roman Arutyunyan1-0/+3
2016-06-29Stream: map module.Vladimir Homutov1-0/+3
2016-06-30Internal md5 and sha1 implementations are now always used.Maxim Dounin1-24/+24
This reduces the number of moving parts in ABI compatibility checks. Additionally, it also allows to use OpenSSL in FIPS mode while still using md5 for non-security tasks.
2016-01-20Stream: UDP proxy.Roman Arutyunyan1-2/+2
2016-02-26Dynamic modules: perl.Ruslan Ermilov1-0/+2
2016-02-04Dynamic modules.Maxim Dounin1-1/+25
The auto/module script is extended to understand ngx_module_link=DYNAMIC. When set, it links the module as a shared object rather than statically into nginx binary. The module can later be loaded using the "load_module" directive. New auto/module parameter ngx_module_order allows to define module loading order in complex cases. By default the order is set based on ngx_module_type. 3rd party modules can be compiled dynamically using the --add-dynamic-module configure option, which will preset ngx_module_link to "DYNAMIC" before calling the module config script. Win32 support is rudimentary, and only works when using MinGW gcc (which is able to handle exports/imports automatically). In collaboration with Ruslan Ermilov.
2015-12-07Slice filter.Roman Arutyunyan1-0/+3
Splits a request into subrequests, each providing a specific range of response. The variable "$slice_range" must be used to set subrequest range and proper cache key. The directive "slice" sets slice size. The following example splits requests into 1-megabyte cacheable subrequests. server { listen 8000; location / { slice 1m; proxy_cache cache; proxy_cache_key $uri$is_args$args$slice_range; proxy_set_header Range $slice_range; proxy_cache_valid 200 206 1h; proxy_pass http://127.0.0.1:9000; } }
2015-09-11The HTTP/2 implementation (RFC 7240, 7241).Valentin Bartenev1-3/+3
The SPDY support is removed, as it's incompatible with the new module.
2015-06-18Stream: connection limiting module.Vladimir Homutov1-0/+4
stream { limit_conn_zone $binary_remote_addr zone=perip:1m; limit_conn_log_level error; server { ... limit_conn perip 1; } }
2015-06-10Configure: moved NGX_SBIN_PATH variable initialization.Ruslan Ermilov1-0/+1
It's now initialized in auto/options like the rest of variables for system paths. As a side effect, the currently unused macro NGX_SBIN_PATH now gets the correct value.
2015-06-04Stream: access module.Vladimir Homutov1-0/+3
stream { server { ... allow 127.0.0.1; deny all; } }
2015-04-29Configure: handle deprecated options.Ruslan Ermilov1-8/+12
Removed the deprecated --without-http_limit_zone_module option. Deprecated the --with-imap and --with-imap_ssl_module options.
2015-04-23Removed the obsolete rtsig module.Ruslan Ermilov1-5/+0
2015-04-22Removed the obsolete aio module.Ruslan Ermilov1-2/+0
2015-04-20Stream: port from NGINX+.Ruslan Ermilov1-0/+24
2015-04-14Upstream: the "zone" directive.Ruslan Ermilov1-0/+4
Upstreams with the "zone" directive are kept in shared memory, with a consistent view of all worker processes.
2015-03-14Thread pools implementation.Valentin Bartenev1-0/+4
2015-03-13Configure: removed obsolete threads bits.Ruslan Ermilov1-3/+0
2014-06-02Upstream: generic hash module.Roman Arutyunyan1-0/+4
2014-05-20Configure: the --build= option.Ruslan Ermilov1-0/+3
If set, its value is output in "nginx -v" and in the error log.