summaryrefslogtreecommitdiffhomepage
path: root/src/stream/ngx_stream_upstream.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-04-24Variables support in proxy_upload_rate and proxy_download_rate.Ruslan Ermilov1-0/+3
2018-11-21Upstream: revised upstream response time variables.Vladimir Homutov1-0/+1
Variables now do not depend on presence of the HTTP status code in response. If the corresponding event occurred, variables contain time between request creation and the event, and "-" otherwise. Previously, intermediate value of the $upstream_response_time variable held unix timestamp.
2018-06-04Stream: udp streams.Roman Arutyunyan1-0/+1
Previously, only one client packet could be processed in a udp stream session even though multiple response packets were supported. Now multiple packets coming from the same client address and port are delivered to the same stream session. If it's required to maintain a single stream of data, nginx should be configured in a way that all packets from a client are delivered to the same worker. On Linux and DragonFly BSD the "reuseport" parameter should be specified for this. Other systems do not currently provide appropriate mechanisms. For these systems a single stream of udp packets is only guaranteed in single-worker configurations. The proxy_response directive now specifies how many packets are expected in response to a single client packet.
2017-09-22Modules compatibility: down flag promoted to a bitmask.Ruslan Ermilov1-1/+1
It is to be used as a bitmask with various bits set/reset when appropriate. 63b8b157b776 made a similar change to ngx_http_upstream_rr_peer_t.down and ngx_stream_upstream_rr_peer_t.down.
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