Matt Lilley
3957183fd5
Use the httputil.NewSingleHostReverseProxy instead of yhat/wsutil for … ( #1348 )
...
* Use the httputil.NewSingleHostReverseProxy instad of yhat/wsutil for websocket proxying. This correctly handles 404 responses with keep-alive by terminating the tunnel rather than keeping it alive
* Tidy up dependencies - yhat/wsutil is no longer required
* Update changelog to include reference to 1348
Co-authored-by: Matt Lilley <matt.lilley@securitease.com>
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
2021-10-03 15:38:40 +01:00
Fabian Stelzer
88f32aeaa1
rename Upstreams to UpstreamConfig and its Configs member to Upstreams then
2021-09-17 12:37:57 +00:00
Fabian Stelzer
662fa72e8c
Add ProxyRawPath tests
...
Refactor proxy_test to set mux/upstream options for each test
individually and add tests for encoded urls with ProxyRawPath set and
unset.
2021-09-17 12:37:56 +00:00
Fabian Stelzer
d51556515e
Introduce ProxyRawPath flag
...
Setting this flag will configure the upstream proxy to pass encoded urls
as-is.
2021-09-17 12:37:56 +00:00
Fabian Stelzer
12ab4ef529
Make the Upstreams mux configurable
...
This commit changes Upstreams from []Upstream to a struct{}
moving the previous []Upstream into .Configs and adjusts all uses of it.
2021-09-17 12:31:18 +00:00
Joel Speed
075cb9c3a0
Ensure upstreams are sorted by longest first
2021-06-23 12:20:48 +01:00
Joel Speed
8a06779d41
Redirect request if it would match with an appended trailing slash
2021-06-23 12:20:47 +01:00
Joel Speed
6c62b25bf1
Allow request paths to be rewritten before proxying to upstream server
2021-06-23 12:20:46 +01:00
Joel Speed
d2d62bb452
Replace standard serve mux with gorilla mux
2021-06-23 12:20:21 +01:00
Joel Speed
befcdd9d04
Add pagewriter to upstream proxy
2021-05-10 11:14:05 +01:00
Joel Speed
92ae5d9d24
Remove duplication in proxy directors
2021-03-22 13:07:41 +00:00
Joel Speed
025ef3eca4
Fix upstream proxy appending ?
to requests
2021-03-22 13:07:36 +00:00
Nick Meves
c1267bb92d
Request ID Logging ( #1087 )
...
* Add RequestID to the RequestScope
* Expose RequestID to auth & request loggers
* Use the RequestID in templated HTML pages
* Allow customizing the RequestID header
* Document new Request ID support
* Add more cases to scope/requestID tests
* Split Get vs Generate RequestID funtionality
* Add {{.RequestID}} to the request logger tests
* Move RequestID management to RequestScope
* Use HTML escape instead of sanitization for Request ID rendering
2021-03-21 18:20:57 +00:00
Nick Meves
602dac7852
Move Logging to Middleware Package ( #1070 )
...
* Use a specialized ResponseWriter in middleware
* Track User & Upstream in RequestScope
* Wrap responses in our custom ResponseWriter
* Add tests for logging middleware
* Inject upstream metadata into request scope
* Use custom ResponseWriter only in logging middleware
* Assume RequestScope is never nil
2021-03-06 17:27:16 +00:00
Joel Speed
a63ed0225c
Use ErrorPage to render proxy error page
2021-02-12 21:12:27 +00:00
Joel Speed
b6cca79cb9
Ensure errors in tests are logged to the GinkgoWriter
2021-02-10 19:50:04 +00:00
Joel Speed
aed43a54da
Add DefaultUpstreamFlushInterval to replace magic time.Second value
2020-11-19 10:39:21 +00:00
Joel Speed
b6d6f31ac1
Introduce Duration so that marshalling works for duration strings
2020-11-19 10:35:29 +00:00
Mitsuo Heijo
3fa42edb73
Fix import path for v7 ( #800 )
...
* fix import path for v7
find ./ -name "*.go" | xargs sed -i -e 's|"github.com/oauth2-proxy/oauth2-proxy|"github.com/oauth2-proxy/oauth2-proxy/v7|'
* fix module path
* go mod tidy
* fix installation docs
* update CHANGELOG
* Update CHANGELOG.md
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
2020-09-29 17:44:42 +01:00
Joel Speed
b40517bbe3
Fix conversion of static responses in upstreams
2020-08-31 16:54:01 +01:00
Phil Taprogge
d69fd6af22
Allow Logging to stdout with separate Error Log Channel ( #718 )
...
* Add dedicated error logging writer
* Document new errors to stdout flag
* Update changelog
* Thread-safe the log buffer
* Address feedback
* Remove duplication by adding log level
* Clean up error formatting
* Apply suggestions from code review
Co-authored-by: Joel Speed <Joel.speed@hotmail.co.uk>
2020-08-10 11:44:08 +01:00
Nick Meves
ad52587ae6
Document GoSec nosec skip comments
2020-08-09 07:55:40 -07:00
Nick Meves
65c228394f
Address gosec findings
...
Mostly handling unhandled errors appropriately.
If logging to STDERR fails, we panic. Added #nosec
comments to findings we are OK with.
2020-08-09 07:55:39 -07:00
Joel Speed
d43b372ca9
Use bool pointers for upstream options that default to true
2020-07-19 14:01:36 +01:00
Joel Speed
5b95ed3033
Add tests for upstream package
2020-07-05 10:21:05 +01:00
Joel Speed
fa8e1ee033
Allow file server to handle windows filesystems
2020-07-05 10:21:05 +01:00
Joel Speed
e1c3e938cc
Add upstream package with Proxy server implementation
2020-07-05 10:21:05 +01:00