| Commit message (Collapse) | Author | Age |
|
|
|
| |
The FreeBSD SO_SETFIB support.
|
|
|
|
| |
The FreeBSD accept filters support.
|
|
|
|
| |
The Linux TCP_DEFER_ACCEPT support.
|
|
|
|
|
|
| |
In preparation for adding more parameters to the listen directive,
and to be in sync with the corresponding structure in the http module.
No functional changes.
|
|
|
|
|
|
|
|
|
| |
Server name is taken either from ngx_stream_ssl_module or
ngx_stream_ssl_preread_module.
The change adds "default_server" parameter to the "listen" directive,
as well as the following directives: "server_names_hash_max_size",
"server_names_hash_bucket_size", "server_name" and "ssl_reject_handshake".
|
|
|
|
| |
Based on a patch by Anbang Wen.
|
|
|
|
| |
The variable takes one of the values: PASSED, REJECTED or REJECTED_DRY_RUN.
|
|
|
|
|
|
| |
Previously only one address was used by the listen directive handler even if
host name resolved to multiple addresses. Now a separate listening socket is
created for each address.
|
|
|
|
|
| |
The "rcvbuf" and "sndbuf" parameters are now supported by
the "listen" directive.
|
| |
|
|
|
|
|
| |
External structures are now identical regardless of stream SSL module
compiled in or not.
|
|
|
|
| |
Removed NGX_HAVE_REUSEPORT from the signature accordingly.
|
|
|
|
|
|
|
|
|
|
| |
The IPV6_V6ONLY macro is now checked only while parsing appropriate flag
and when using the macro.
The ipv6only field in listen structures is always initialized to 1,
even if not supported on a given platform. This is expected to prevent
a module compiled without IPV6_V6ONLY from accidentally creating dual
sockets if loaded into main binary with proper IPV6_V6ONLY support.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this phase, head of a stream is read and analysed before proceeding to the
content phase. Amount of data read is controlled by the module implementing
the phase, but not more than defined by the "preread_buffer_size" directive.
The time spent on processing preread is controlled by the "preread_timeout"
directive.
The typical preread phase module will parse the beginning of a stream and set
variable that may be used by the content phase, for example to make routing
decision.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously, it was possible that some system calls could be
invoked while holding the accept mutex. This is clearly
wrong as it prevents incoming connections from being accepted
as quickly as possible.
|
| |
|
|
|
|
|
|
| |
Keeps the full address of the upstream server. If several servers were
contacted during proxying, their addresses are separated by commas,
e.g. "192.168.1.1:80, 192.168.1.2:80".
|
|
|
|
|
|
|
|
|
|
| |
The stream session status is one of the following:
200 - normal completion
403 - access forbidden
500 - internal server error
502 - bad gateway
503 - limit conn
|
|
|
|
| |
The variable keeps time spent on processing the stream session.
|
| |
|
|
|
|
| |
The new type ngx_uint_t was supposed when formatting the line number.
|
| |
|
|
|
|
| |
This is a port of corresponding http code with unrelated features excluded.
|
| |
|
| |
|
|
|
|
| |
It's properly aligned and can hold any supported sockaddr.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
stream {
limit_conn_zone $binary_remote_addr zone=perip:1m;
limit_conn_log_level error;
server {
...
limit_conn perip 1;
}
}
|
|
|
|
|
|
|
|
|
|
| |
stream {
server {
...
allow 127.0.0.1;
deny all;
}
}
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The http and stream versions of this macro were identical.
|
|
|