Patrick Koenig 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4feac4d83c 
							
						 
					 
					
						
						
							
							reverseproxy: Allow fallthrough for response handlers without routes ( #5780 )  
						
						
						
						
					 
					
						2023-10-05 23:15:26 -04:00 
						 
				 
			
				
					
						
							
							
								Pascal Vorwerk 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1e0dea59ef 
							
						 
					 
					
						
						
							
							reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams ( #5811 )  
						
						... 
						
						
						
						fix a nil pointer dereference in AUpstreams.GetUpstreams when AUpstreams.Versions is not set (fixes caddyserver#5809)
Signed-off-by: Pascal Vorwerk <info@fossores.de> 
						
						
					 
					
						2023-09-10 19:08:02 -04:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b377208ede 
							
						 
					 
					
						
						
							
							chore: Appease gosec linter ( #5777 )  
						
						... 
						
						
						
						These happen to be harmless memory aliasing
but I guess the linter can't know that and we
can't really prove it in general. 
						
						
					 
					
						2023-08-23 20:47:54 -06:00 
						 
				 
			
				
					
						
							
							
								Karun Agarwal 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							288216e1fb 
							
						 
					 
					
						
						
							
							httpcaddyfile: Stricter errors for site and upstream address schemes ( #5757 )  
						
						... 
						
						
						
						Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-08-19 07:28:25 -04:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							936ee918ee 
							
						 
					 
					
						
						
							
							reverseproxy: Always return new upstreams ( fix   #5736 ) ( #5752 )  
						
						... 
						
						
						
						* reverseproxy: Always return new upstreams (fix  #5736 )
* Fix healthcheck logger race 
						
						
					 
					
						2023-08-17 11:33:40 -06:00 
						 
				 
			
				
					
						
							
							
								Jacob Gadikian 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d6f86cccf5 
							
						 
					 
					
						
						
							
							ci: use gci linter ( #5708 )  
						
						... 
						
						
						
						* use gofmput to format code
* use gci to format imports
* reconfigure gci
* linter autofixes
* rearrange imports a little
* export GOOS=windows golangci-lint run ./... --fix 
						
						
					 
					
						2023-08-14 09:41:15 -06:00 
						 
				 
			
				
					
						
							
							
								Jacob Gadikian 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b32f265eca 
							
						 
					 
					
						
						
							
							ci: Use gofumpt to format code ( #5707 )  
						
						
						
						
					 
					
						2023-08-07 19:40:31 +00:00 
						 
				 
			
				
					
						
							
							
								Mohammed Al Sahaf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							65e33fc1ee 
							
						 
					 
					
						
						
							
							reverseproxy: do not parse upstream address too early if it contains replaceble parts ( #5695 )  
						
						... 
						
						
						
						* reverseproxy: do not parse upstream address too early if it contains replaceble parts
* remove unused method
* cleanup
* accommodate partially replaceable port 
						
						
					 
					
						2023-08-05 23:30:02 +02:00 
						 
				 
			
				
					
						
							
							
								WeidiDeng 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e2fc08bd34 
							
						 
					 
					
						
						
							
							reverseproxy: Fix hijack ordering which broke websockets ( #5679 )  
						
						
						
						
					 
					
						2023-08-03 04:08:12 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cd486c25d1 
							
						 
					 
					
						
						
							
							caddyhttp: Make use of http.ResponseController ( #5654 )  
						
						... 
						
						
						
						* caddyhttp: Make use of http.ResponseController
Also syncs the reverseproxy implementation with stdlib's which now uses ResponseController as well 2449bbb5e6 
						
						
					 
					
						2023-08-02 20:03:26 +00:00 
						 
				 
			
				
					
						
							
							
								mmm444 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							da23501457 
							
						 
					 
					
						
						
							
							reverseproxy: Connection termination cleanup ( #5663 )  
						
						
						
						
					 
					
						2023-08-01 14:01:12 +00:00 
						 
				 
			
				
					
						
							
							
								Omar Ramadan 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d7d16360d4 
							
						 
					 
					
						
						
							
							reverseproxy: Export ipVersions type ( #5648 )  
						
						... 
						
						
						
						allows AUpstreams to be instantiated externally 
						
						
					 
					
						2023-07-25 12:50:21 -06:00 
						 
				 
			
				
					
						
							
							
								Marten Seemann 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f45a6de20d 
							
						 
					 
					
						
						
							
							go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum ( #5644 )  
						
						... 
						
						
						
						* update quic-go to v0.37.0
* Bump to Go 1.20
* Bump golangci-lint version, yml syntax consistency
* Use skip-pkg-cache workaround
* Workaround needed for both?
* Seeding weakrand is no longer necessary
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-07-21 22:00:48 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0e2c7e1d35 
							
						 
					 
					
						
						
							
							caddytls: Reuse certificate cache through reloads ( #5623 )  
						
						... 
						
						
						
						* caddytls: Don't purge cert cache on config reload
* Update CertMagic
This actually avoids reloading managed certs from storage
when already in the cache, d'oh.
* Fix bug; re-implement HasCertificateForSubject
* Update go.mod: CertMagic tag 
						
						
					 
					
						2023-07-11 19:10:58 +00:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5dec11f2a0 
							
						 
					 
					
						
						
							
							reverseproxy: Pointer receiver  
						
						... 
						
						
						
						This avoids copying the Upstream, which has an atomically-accessed value
in it. 
						
						
					 
					
						2023-07-08 13:42:51 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7a69ae7571 
							
						 
					 
					
						
						
							
							reverseproxy: Honor tls_except_port for active health checks ( #5591 )  
						
						
						
						
					 
					
						2023-06-22 16:20:30 -06:00 
						 
				 
			
				
					
						
							
							
								Saber Haj Rabiee 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							361946eb0c 
							
						 
					 
					
						
						
							
							reverseproxy: weighted_round_robin load balancing policy ( #5579 )  
						
						... 
						
						
						
						* added weighted round robin algorithm to load balancer
* added an adapt integration test for wrr and fixed a typo
* changed args format to Caddyfile args convention
* added provisioner and validator for wrr
* simplified the code and improved doc 
						
						
					 
					
						2023-06-20 11:42:58 -06:00 
						 
				 
			
				
					
						
							
							
								mmm444 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							424ae0f420 
							
						 
					 
					
						
						
							
							reverseproxy: Experimental streaming timeouts ( #5567 )  
						
						... 
						
						
						
						* reverseproxy: WIP streaming timeouts
* More verbose logging by using the child logger
* reverseproxy: Implement streaming timeouts
* reverseproxy: Refactor cleanup
* reverseproxy: Avoid **time.Timer
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-06-19 15:54:43 -06:00 
						 
				 
			
				
					
						
							
							
								Corin Langosch 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2ddb717144 
							
						 
					 
					
						
						
							
							reverseproxy: Fix parsing of source IP in case it's an ipv6 address ( #5569 )  
						
						
						
						
					 
					
						2023-06-12 09:35:22 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							75b690d248 
							
						 
					 
					
						
						
							
							reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile ( #5494 )  
						
						... 
						
						
						
						* reverseproxy: Expand port ranges to multiple upstreams in CLI + Caddyfile
* Add clarifying comment 
						
						
					 
					
						2023-05-15 12:14:50 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b19946f6af 
							
						 
					 
					
						
						
							
							reverseproxy: Optimize base case for least_conn and random_choose policies ( #5487 )  
						
						... 
						
						
						
						When only a single request has the least amount of requests, there's no need to compute a random number, because the modulo of 1 will always be 0 anyways. 
						
						
					 
					
						2023-05-05 20:53:48 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							335cd2e8a4 
							
						 
					 
					
						
						
							
							reverseproxy: Fix active health check header canonicalization, refactor ( #5446 )  
						
						
						
						
					 
					
						2023-05-05 15:19:22 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							48598e1f2a 
							
						 
					 
					
						
						
							
							reverseproxy: Add fallback for some policies, instead of always random ( #5488 )  
						
						
						
						
					 
					
						2023-05-05 15:08:10 -06:00 
						 
				 
			
				
					
						
							
							
								eanavitarte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c8032867b1 
							
						 
					 
					
						
						
							
							fastcgi: Fix capture_stderr ( #5515 )  
						
						
						
						
					 
					
						2023-05-04 00:40:49 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3f20a7c9f3 
							
						 
					 
					
						
						
							
							acmeserver: Configurable resolvers, fix smallstep deprecations ( #5500 )  
						
						... 
						
						
						
						* acmeserver: Configurable `resolvers`, fix smallstep deprecations
* Improve default net/port
* Update proxy resolvers parsing to use the new function
* Update listeners.go
Co-authored-by: itsxaos <33079230+itsxaos@users.noreply.github.com>
---------
Co-authored-by: itsxaos <33079230+itsxaos@users.noreply.github.com> 
						
						
					 
					
						2023-05-03 17:07:22 +00:00 
						 
				 
			
				
					
						
							
							
								Dave Henderson 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f0e3981774 
							
						 
					 
					
						
						
							
							logging: Add traceID field to access logs when tracing is active ( #5507 )  
						
						... 
						
						
						
						Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-04-27 02:46:41 +00:00 
						 
				 
			
				
					
						
							
							
								Y.Horie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2b04e09fa7 
							
						 
					 
					
						
						
							
							reverseproxy: Fix reinitialize upstream healthy metrics ( #5498 )  
						
						... 
						
						
						
						Co-authored-by: Dávid Szabó <david.szabo97@gmail.com> 
						
						
					 
					
						2023-04-25 09:59:26 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							53b6fab125 
							
						 
					 
					
						
						
							
							caddyfile: Stricter parsing, error for brace on new line ( #5505 )  
						
						
						
						
					 
					
						2023-04-20 18:43:51 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4636109ce1 
							
						 
					 
					
						
						
							
							reverseproxy: Remove deprecated lookup_srv ( #5396 )  
						
						
						
						
					 
					
						2023-04-10 20:08:40 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f8b59e77f8 
							
						 
					 
					
						
						
							
							reverseproxy: Add query and client_ip_hash lb policies ( #5468 )  
						
						
						
						
					 
					
						2023-04-04 03:31:47 +00:00 
						 
				 
			
				
					
						
							
							
								Corin Langosch 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b6fe5d4b41 
							
						 
					 
					
						
						
							
							proxyprotocol: Add PROXY protocol support to reverse_proxy, add HTTP listener wrapper ( #5424 )  
						
						... 
						
						
						
						Co-authored-by: WeidiDeng <weidi_deng@icloud.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-03-31 17:44:53 -04:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							66e571e687 
							
						 
					 
					
						
						
							
							reverseproxy: Add mention of which half a copyBuffer err comes from ( #5472 )  
						
						... 
						
						
						
						Co-authored-by: Matt Holt <mholt@users.noreply.github.com> 
						
						
					 
					
						2023-03-31 15:46:29 -04:00 
						 
				 
			
				
					
						
							
							
								Mohammed Al Sahaf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1aef807c71 
							
						 
					 
					
						
						
							
							log: Make sink logs encodable ( #5441 )  
						
						... 
						
						
						
						* log: make `sink` encodable
* deduplicate logger fields
* extract common fields into `BaseLog` and embed it into `SinkLog`
* amend godoc on `BaseLog` and `SinkLog`
* minor style change
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-03-27 21:41:24 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e16a886814 
							
						 
					 
					
						
						
							
							caddytls: Eval replacer on automation policy subjects ( #5459 )  
						
						... 
						
						
						
						Also renamed the field to SubjectsRaw, which can be considered a breaking change but I don't expect this to affect much. 
						
						
					 
					
						2023-03-27 21:16:22 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							10b265d252 
							
						 
					 
					
						
						
							
							reverseproxy: Header up/down support for CLI command ( #5460 )  
						
						
						
						
					 
					
						2023-03-27 20:35:31 +00:00 
						 
				 
			
				
					
						
							
							
								Trea Hauet 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2182270a2c 
							
						 
					 
					
						
						
							
							reverseproxy: Reset Content-Length to prevent FastCGI from hanging ( #5435 )  
						
						... 
						
						
						
						Fixes: https://github.com/caddyserver/caddy/issues/5420  
						
						
					 
					
						2023-03-16 11:42:16 -06:00 
						 
				 
			
				
					
						
							
							
								Emily Lange 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							941eae5f61 
							
						 
					 
					
						
						
							
							reverseproxy: allow specifying ip version for dynamic a upstream ( #5401 )  
						
						... 
						
						
						
						Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-02-27 17:23:09 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							960150bb03 
							
						 
					 
					
						
						
							
							caddyfile: Implement heredoc support ( #5385 )  
						
						
						
						
					 
					
						2023-02-26 00:34:27 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9e6919550b 
							
						 
					 
					
						
						
							
							cmd: Expand cobra support, add short flags ( #5379 )  
						
						... 
						
						
						
						* cmd: Expand cobra support
* Convert commands to cobra, add short flags
* Fix version command typo
Co-authored-by: Emily Lange <git@indeednotjames.com>
* Apply suggestions from code review
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
---------
Co-authored-by: Emily Lange <git@indeednotjames.com>
Co-authored-by: Matt Holt <mholt@users.noreply.github.com> 
						
						
					 
					
						2023-02-24 16:09:12 -07:00 
						 
				 
			
				
					
						
							
							
								Mohammed Al Sahaf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e3909cc385 
							
						 
					 
					
						
						
							
							reverseproxy: refactor HTTP transport layer ( #5369 )  
						
						... 
						
						
						
						Co-authored-by: Francis Lavoie <lavofr@gmail.com>
Co-authored-by: Weidi Deng <weidi_deng@icloud.com> 
						
						
					 
					
						2023-02-24 19:54:04 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5ded580444 
							
						 
					 
					
						
						
							
							cmd: Adjust documentation for commands ( #5377 )  
						
						
						
						
					 
					
						2023-02-16 09:14:07 -07:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4b119a475f 
							
						 
					 
					
						
						
							
							reverseproxy: Don't buffer chunked requests ( fix   #5366 ) ( #5367 )  
						
						... 
						
						
						
						* reverseproxy: Don't buffer chunked requests (fix  #5366 )
Mostly reverts 845bc4d50b437995d574819850206e4b3db4040d (#5289 )
Adds warning for unsafe config.
Deprecates unsafe properties in favor of simpler, safer designed ones.
* Update modules/caddyhttp/reverseproxy/caddyfile.go
Co-authored-by: Y.Horie <u5.horie@gmail.com>
* Update modules/caddyhttp/reverseproxy/reverseproxy.go
Co-authored-by: Y.Horie <u5.horie@gmail.com>
* Update modules/caddyhttp/reverseproxy/reverseproxy.go
Co-authored-by: Y.Horie <u5.horie@gmail.com>
* Remove unused code
---------
Co-authored-by: Y.Horie <u5.horie@gmail.com> 
						
						
					 
					
						2023-02-11 17:25:29 -07:00 
						 
				 
			
				
					
						
							
							
								Steffen Brüheim 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							536c28d4dc 
							
						 
					 
					
						
						
							
							core: Support Windows absolute paths for UDS proxy upstreams ( #5114 )  
						
						... 
						
						
						
						* added some tests for parseUpstreamDialAddress
Test 4 fails because it produces "[[::1]]:80" instead of "[::1]:80"
* support absolute windows path in unix reverse proxy address
* make IsUnixNetwork public, support +h2c and reuse it
* add new tests 
						
						
					 
					
						2023-02-08 10:05:09 -07:00 
						 
				 
			
				
					
						
							
							
								WeidiDeng 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c77a6bea66 
							
						 
					 
					
						
						
							
							reverseproxy: Log status code and byte count for websockets ( #5140 )  
						
						... 
						
						
						
						* log response size for websocket request
* record size when using hijack bufio.Writer 
						
						
					 
					
						2023-02-06 16:14:59 -07:00 
						 
				 
			
				
					
						
							
							
								Y.Horie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e9d95ab29f 
							
						 
					 
					
						
						
							
							reverseproxy: Add flag to short command to disable redirects ( #5330 )  
						
						... 
						
						
						
						Co-authored-by: Francis Lavoie <lavofr@gmail.com>
Fixes undefined 
						
						
					 
					
						2023-01-25 09:40:08 -05:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							223cbe3d0b 
							
						 
					 
					
						
						
							
							caddyhttp: Add server-level trusted_proxies config ( #5103 )  
						
						
						
						
					 
					
						2023-01-10 00:08:23 -05:00 
						 
				 
			
				
					
						
							
							
								Y.Horie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							845bc4d50b 
							
						 
					 
					
						
						
							
							reverseproxy: Fix hanging for Transfer-Encoding: chunked ( #5289 )  
						
						... 
						
						
						
						* Fixes  #5236 
* enable request body buffering in reverse proxy
  when the request header has Transfer-Encoding: chunked 
						
						
					 
					
						2023-01-09 00:13:34 -07:00 
						 
				 
			
				
					
						
							
							
								Emily Lange 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e450a7377b 
							
						 
					 
					
						
						
							
							reverseproxy: Don't enable auto-https when --from flag is http ( #5269 )  
						
						
						
						
					 
					
						2023-01-06 15:42:07 -05:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d74f6fd967 
							
						 
					 
					
						
						
							
							reverseproxy: Set origreq in active health check ( #5284 )  
						
						... 
						
						
						
						* reverseproxy: Set origreq in active health check
Fix  #5281 
* Oops; dereference Request 
						
						
					 
					
						2023-01-06 15:06:38 -05:00 
						 
				 
			
				
					
						
							
							
								Alban Lecocq 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d4a7d89f56 
							
						 
					 
					
						
						
							
							reverseproxy: Improve hostByHashing distribution ( #5229 )  
						
						... 
						
						
						
						* If upstreams are all using same host but with different ports
ie:
foobar:4001
foobar:4002
foobar:4003
...
Because fnv-1a has not a good enough avalanche effect
Then the hostByHashing result is not well balanced over
all upstreams
As last byte FNV input tend to affect few bits, the idea is to change
the concatenation order between the key and the upstream strings
So the upstream last byte have more impact on hash diffusion 
						
						
					 
					
						2022-12-05 11:28:12 -07:00