Tw
c37481cc7b
proxy: handle encoded path in URL
...
fix issue #1362
Signed-off-by: Tw <tw19881113@gmail.com>
2017-02-17 09:41:00 +08:00
Augusto Roman
463c9d9dd2
Fix data race for max connection limiting in proxy directive. ( #1438 )
...
* Fix data race for max connection limiting in proxy directive.
The Conns and Unhealthy fields are updated concurrently across all active
requests. Because of this, they must use atomic operations for reads and
writes.
Prior to this change, Conns was incremented atomically, but read unsafely.
Unhealthly was updated & read unsafely. The new test
TestReverseProxyMaxConnLimit exposes this race when run with -race.
Switching to atomic operations makes the race detector happy.
* oops, remove leftover dead code.
2017-02-15 08:09:42 -07:00
Leonard Hecker
8048e9c3bc
proxy: Added unbuffered request optimization
...
If only one upstream is defined we don't need to buffer the body.
Instead we directly stream the body to the upstream host,
which reduces memory usage as well as latency.
Furthermore this enables different kinds of HTTP streaming
applications like gRPC for instance.
2017-01-11 19:38:14 +01:00
Leonard Hecker
4babe4b201
proxy: Added support for HTTP trailers
2016-12-30 18:34:26 +01:00
Gyula Voros
b783caaaed
Filter empty headers ( #1239 )
...
* Filter empty headers
Some web servers (e.g. Jetty 9.3) don’t like HTTP headers with empty values. This commit filters header replacements with zero length.
* Extend tests to verify removal of empty headers
* Handle add-header case
* Change - Use short variable assignment
2016-11-16 21:41:53 -07:00
Benny Ng
dd4c4d7eb6
proxy: record request Body for retry ( fixes #1229 )
2016-11-04 19:15:36 +08:00
Ngo The Trung
0cdaaba4b8
Add maxrequestbody directive ( #1163 )
2016-11-04 08:25:49 +08:00
Mateusz Gajewski
8cc3416bbc
Remove dead code, do struct alignment, simplify code
2016-10-25 19:19:54 +02:00
Tw
a1dd6f0b34
proxy: set request's body to nil explicitly
...
fix issue #1206
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-24 11:10:12 +08:00
Matthew Holt
617012c3fb
Use time.Since() for readability
2016-09-24 21:27:57 -06:00
Matthew Holt
a661007a55
proxy: Fix retry logic for when no hosts are available
2016-09-24 16:30:40 -06:00
Matthew Holt
0c0142c8cc
Delete tryDuration, now unused
2016-09-24 16:05:33 -06:00
Matthew Holt
37f05e450f
proxy: Add try_duration and try_interval; by default don't retry
2016-09-24 16:03:22 -06:00
Matthew Holt
9b9a77a160
proxy: Improved error reporting
...
We now report the actual error message rather than a generic one
2016-09-24 14:22:13 -06:00
Nimi Wariboko Jr
824ec6cb95
Merge branch 'master' into proxy/keepalive-directive
2016-08-05 16:20:37 -07:00
Nimi Wariboko Jr
5b5e365295
Instead of treating 0 is a default value, use http.DefaultMaxIdleConnsPerHost
2016-08-05 15:41:32 -07:00
Kris Hamoud
88d3dcae42
added ip_hash load balancing
...
updated tests
fixed comment format
fixed formatting, minor logic fix
added newline to EOF
updated logic, fixed tests
added comment
updated formatting
updated test output
fixed typo
2016-08-01 18:50:53 -07:00
Nimi Wariboko Jr
db4cd8ee2d
Proxy: Add keepalive directive to proxy to set MaxIdleConnsPerHost on transport. Fixes #938
2016-08-01 15:54:07 -07:00
Viacheslav Chimishuk
62e8c4b76b
Use authentification credentials from proxy's configuration as a default. ( #951 )
2016-07-22 11:33:50 -06:00
Matthew Holt
6490ff6224
Adjust proxy headers properly ( fixes #916 )
2016-07-21 18:18:01 -06:00
Matthew Holt
57710e8b0d
Revert "Merge pull request #931 from pedronasser/master"
...
This reverts commit 9ea0591951
, reversing
changes made to 2125ae5f99
.
2016-07-21 13:31:43 -06:00
Pedro Nasser
6bb1e0c674
improve transparent mode
2016-07-14 18:16:58 -03:00
Matthew Holt
a1bc94e409
Working on a fix for proxy related to setting Host header (cf. #874 )
...
Also see
https://forum.caddyserver.com/t/caddy-0-9-beta-version-available-updated-beta-2/146/29?u=matt
which has another account of strange proxy behavior; I think this
resolves that.
2016-06-28 18:40:07 -06:00
Matthew Holt
80dd95a495
Change outreq.Host instead of r.Host (possibly related to #874 )
...
Also a few little formatting changes and comments.
2016-06-28 18:19:35 -06:00
Viacheslav Biriukov
345ece3850
add multi proxy supprot based on urls
2016-06-28 16:35:35 -06:00
Matthew Holt
416af05a00
Migrating more middleware packages
2016-06-05 21:51:56 -06:00