summaryrefslogtreecommitdiffhomepage
path: root/src/stream/ngx_stream_upstream.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2016-12-26Stream: speed up TCP peer recovery.Roman Arutyunyan1-0/+3
Previously, an unavailable peer was considered recovered after a successful proxy session to this peer. Until then, only a single client connection per fail_timeout was allowed to be proxied to the peer. Since stream sessions can be long, it may take indefinite time for a peer to recover, limiting the ability of the peer to receive new connections. Now, a peer is considered recovered after a successful TCP connection is established to it. Balancers are notified of this event via the notify() callback.
2016-10-31Upstream: added the ngx_http_upstream_resolved_t.name field.Ruslan Ermilov1-0/+1
This fixes inconsistency in what is stored in the "host" field. Normally it would contain the "host" part of the parsed URL (e.g., proxy_pass with variables), but for the case of an implicit upstream specified with literal address it contained the text representation of the socket address (that is, host including port for IP). Now the "host" field always contains the "host" part of the URL, while the text representation of the socket address is stored in the newly added "name" field. The ngx_http_upstream_create_round_robin_peer() function was modified accordingly in a way to be compatible with the code that does not know about the new "name" field. The "stream" code was similarly modified except for not adding compatibility in ngx_stream_upstream_create_round_robin_peer(). This change is also a prerequisite for the next change.
2016-10-10Modules compatibility: removed dependencies on NGX_STREAM_SSL.Maxim Dounin1-2/+0
External structures are now identical regardless of stream SSL module compiled in or not.
2016-09-29Introduced the NGX_COMPAT macro.Ruslan Ermilov1-0/+3
When enabled, some structures are padded to be size compatible with their NGINX Plus versions.
2016-09-29Modules compatibility: slow start fields.Maxim Dounin1-0/+1
2016-09-22Upstream: max_conns.Ruslan Ermilov1-0/+2
2016-09-22Upstream: introduced u->upstream.Maxim Dounin1-0/+1
It holds upstream{} block configuration, including ones selected via run-time lookup using variables.
2016-09-15Stream: filters.Roman Arutyunyan1-0/+10
2016-09-02Stream: upstream response time variables.Vladimir Homutov1-0/+3
The $upstream_connect_time, $upstream_first_byte_time and $upstream_session_time variables keep corresponding times.
2016-09-02Stream: $upstream_bytes_sent and $upstream_bytes_received.Vladimir Homutov1-0/+3
2016-09-02Stream: the $upstream_addr variable.Vladimir Homutov1-0/+6
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".
2016-06-14Stream: variables in proxy_pass and proxy_ssl_name.Vladimir Homutov1-0/+16
2016-01-20Stream: UDP proxy.Roman Arutyunyan1-0/+1
2015-06-25Stream: upstream "connected" flag.Roman Arutyunyan1-2/+2
Once upstream is connected, the upstream buffer is allocated. Previously, the proxy module used the buffer allocation status to check if upstream is connected. Now it's enough to check the flag.
2015-06-23Stream: upstream and downstream limit rates.Roman Arutyunyan1-0/+1
2015-06-16Stream: client-side PROXY protocol.Roman Arutyunyan1-0/+2
The new directive "proxy_protocol" toggles sending out PROXY protocol header to upstream once connection is established.
2015-04-20Stream: port from NGINX+.Ruslan Ermilov1-0/+103