Tw
0146bb4e49
proxy: recognize client's cancellation
...
fix issue #1589
Signed-off-by: Tw <tw19881113@gmail.com>
2017-04-30 10:14:19 +08:00
Matthew Holt
f09fff3d8b
Remove ineffectual assignment created by reverting 344017d
( #1584 )
2017-04-21 22:26:38 -06:00
Matthew Holt
f8614b877d
Revert 344017dc21
( #1584 )
2017-04-21 13:02:15 -06:00
Tw
c684de9a88
proxy: take original URL path into account when remove prefix
...
fix issue #1604
Signed-off-by: Tw <tw19881113@gmail.com>
2017-04-21 19:35:32 +08:00
Tw
344017dc21
proxy: use untouched URL for concatenating
...
Signed-off-by: Tw <tw19881113@gmail.com>
2017-04-18 09:07:38 +08:00
Leonard Hecker
5a41e8bc1a
proxy: Fixed #1484 , websockets with h2 disabled ( #1488 )
...
* Fixed #1484
Fixed a nil pointer runtime error in newConnHijackerTransport,
where the access to the TLSClientConfig did not check for nil values.
* Minor improvement to UseInsecureTransport
This prevents overwriting a possibly preexisting TLSClientConfig,
even though only a single field should be changed.
2017-03-10 10:41:37 -07:00
Mateusz Gajewski
286d8d1e89
tls: Per-site TLS configs using GetClientConfig, including http2 switch ( #1389 )
...
* Remove manual TLS clone method
* WiP tls
* Use GetClientConfig for tls.Config
* gofmt -s -w
* GetConfig
* Handshake
* Removed comment
* Disable HTTP2 on demand
* Remove junk
* Remove http2 enable (no-op)
2017-02-18 15:26:23 -07:00
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
Tw
38c76647c9
proxy: use a new context for the outgoing request ( #1358 )
...
* proxy: use a new context for the outgoing request
fix issue #1345
Signed-off-by: Tw <tw19881113@gmail.com>
* proxy: add test for canceling the request
Signed-off-by: Tw <tw19881113@gmail.com>
2017-01-23 18:03:42 -07:00
Leonard Hecker
ae10122f7e
proxy: Fixed #1352 : invalid use of the HTTP hijacker
2017-01-17 15:55:11 +01:00
Leonard Hecker
4babe4b201
proxy: Added support for HTTP trailers
2016-12-30 18:34:26 +01:00
Leonard Hecker
533039e6d8
proxy: Removed leftover restriction to HTTP/1.1
2016-12-29 16:07:22 +01:00
Leonard Hecker
b857265f9c
proxy: Fixed support for TLS verification of WebSocket connections
2016-12-28 17:38:54 +01:00
Leonard Hecker
153d4a5ac6
proxy: Improved handling of bufferPool
2016-12-28 17:17:52 +01:00
Leonard Hecker
9f9ad21aaa
Fixed #1292 : Failure to proxy WebSockets over HTTPS
...
This issue was caused by connHijackerTransport trying to record HTTP
response headers by "hijacking" the Read() method of the plain net.Conn.
This does not simply work over TLS though since this will record the TLS
handshake and encrypted data instead of the actual content.
This commit fixes the problem by providing an alternative transport.DialTLS
which correctly hijacks the overlying tls.Conn instead.
2016-12-26 20:52:36 +01:00
Leonard Hecker
53635ba538
Fixed panic due to 0-length buffers being passed to io.CopyBuffer
2016-12-26 20:42:00 +01:00
Leonard Hecker
6352c9054a
Fixed proxy not respecting the -http2 flag
2016-12-26 20:40:44 +01:00
Leonard Hecker
a3aa414ff3
Fixed HTTP/2 support for the proxy middleware ( #1300 )
...
* Fixed HTTP/2 support for the proxy middleware
http.Transport instances whose TLSClientConfig, Dial, or DialTLS field
is non-nil will be configured without HTTP/2 support by default.
This commit adds the proper calls to http2.ConfigureTransport()
everywhere a http.Transport is created and thus fixes HTTP/2 in the
proxy middleware whenever insecure_skip_verify or keepalive is provided.
* Added HTTP/2 support check to TestReverseProxyInsecureSkipVerify
2016-12-21 12:44:07 -07:00
Matt Holt
550b1170bd
Merge branch 'master' into 1173
2016-10-13 22:56:19 -06:00
Tw
4baca884c5
proxy: preserve path trailing slash if it was there
...
fix issue #1177
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 17:06:59 +08:00
Tw
d0455c7b9c
add more descriptive errors
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 10:34:51 +08:00
Tw
e5d33e73f3
header: implement http.Hijacker for responseWriterWrapper
...
fix issue #1173
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 08:53:47 +08:00
Tw
cc638c7faa
proxy: handle 'without' option in encoded form of URL path
...
fix issue #1154
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-02 19:32:14 +00:00
Tw
c9b022b5e0
proxy: don't append some predefined headers
...
fix issue #1086
Signed-off-by: Tw <tw19881113@gmail.com>
2016-09-25 09:24:27 +00:00
Michael Grosser
3dc98c8ce3
Keep quic protocol headers only between one hop
...
Removing quic protocol headers from being persisted during proxy requests.
Not removing them could lead to the client attempting to connect to the wrong port.
This makes the quic headers consistent with other protocol headers.
2016-08-23 22:05:56 +00:00
Nimi Wariboko Jr
2ef8905966
Proxy: Instead of setting DisableKeepAlives, set MaxIdleConnsPerHost to -1 to prevent net/http from pooling the connections. DisableKeepAlives causes net/http to send a Connection: Closed header which is bad. Fixes #1056
2016-08-22 18:00:37 -07:00
Matthew Holt
2019eec5a5
Fix lint warnings; group methods for same type together
2016-08-06 14:46:52 -06:00
Nimi Wariboko Jr
8898066455
Merge branch 'master' into proxy/single-webconn
2016-08-05 16:57:54 -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
Nimi Wariboko Jr
f4cdf53761
Proxy: Fix transport defn; cleanup connection.
2016-08-02 12:31:17 -07:00
Nimi Wariboko Jr
d534a2139f
Proxy: When connecting to websocket backend, reuse the connection isntead of starting a new one.
2016-08-01 19:11:31 -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
Matthew Holt
6490ff6224
Adjust proxy headers properly ( fixes #916 )
2016-07-21 18:18:01 -06:00
Tw
beae16f07c
Proxy performance ( #946 )
...
* proxy: add benchmark
Signed-off-by: Tw <tw19881113@gmail.com>
* replacer: prepare lazily
update issue#939
benchmark old ns/op new ns/op delta
BenchmarkProxy-4 83865 72544 -13.50%
Signed-off-by: Tw <tw19881113@gmail.com>
* proxy: use buffer pool to avoid temporary allocation
Signed-off-by: Tw <tw19881113@gmail.com>
2016-07-20 19:06:14 -06:00
Matthew Holt
416af05a00
Migrating more middleware packages
2016-06-05 21:51:56 -06:00