mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-31 21:31:07 +00:00 
			
		
		
		
	
		
			
	
	
		
			100 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			100 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | *.sandbox.localhost { | ||
|  | 	@sandboxPort { | ||
|  | 		header_regexp port Host ^([0-9]{3})\.sandbox\. | ||
|  | 	} | ||
|  | 	handle @sandboxPort { | ||
|  | 		reverse_proxy app:{re.port.1} | ||
|  | 	} | ||
|  | 	handle { | ||
|  | 		redir {scheme}://application.localhost | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | ---------- | ||
|  | { | ||
|  | 	"apps": { | ||
|  | 		"http": { | ||
|  | 			"servers": { | ||
|  | 				"srv0": { | ||
|  | 					"listen": [ | ||
|  | 						":443" | ||
|  | 					], | ||
|  | 					"routes": [ | ||
|  | 						{ | ||
|  | 							"match": [ | ||
|  | 								{ | ||
|  | 									"host": [ | ||
|  | 										"*.sandbox.localhost" | ||
|  | 									] | ||
|  | 								} | ||
|  | 							], | ||
|  | 							"handle": [ | ||
|  | 								{ | ||
|  | 									"handler": "subroute", | ||
|  | 									"routes": [ | ||
|  | 										{ | ||
|  | 											"group": "group2", | ||
|  | 											"handle": [ | ||
|  | 												{ | ||
|  | 													"handler": "subroute", | ||
|  | 													"routes": [ | ||
|  | 														{ | ||
|  | 															"handle": [ | ||
|  | 																{ | ||
|  | 																	"handler": "reverse_proxy", | ||
|  | 																	"upstreams": [ | ||
|  | 																		{ | ||
|  | 																			"dial": "app:{http.regexp.port.1}" | ||
|  | 																		} | ||
|  | 																	] | ||
|  | 																} | ||
|  | 															] | ||
|  | 														} | ||
|  | 													] | ||
|  | 												} | ||
|  | 											], | ||
|  | 											"match": [ | ||
|  | 												{ | ||
|  | 													"header_regexp": { | ||
|  | 														"Host": { | ||
|  | 															"name": "port", | ||
|  | 															"pattern": "^([0-9]{3})\\.sandbox\\." | ||
|  | 														} | ||
|  | 													} | ||
|  | 												} | ||
|  | 											] | ||
|  | 										}, | ||
|  | 										{ | ||
|  | 											"group": "group2", | ||
|  | 											"handle": [ | ||
|  | 												{ | ||
|  | 													"handler": "subroute", | ||
|  | 													"routes": [ | ||
|  | 														{ | ||
|  | 															"handle": [ | ||
|  | 																{ | ||
|  | 																	"handler": "static_response", | ||
|  | 																	"headers": { | ||
|  | 																		"Location": [ | ||
|  | 																			"{http.request.scheme}://application.localhost" | ||
|  | 																		] | ||
|  | 																	}, | ||
|  | 																	"status_code": 302 | ||
|  | 																} | ||
|  | 															] | ||
|  | 														} | ||
|  | 													] | ||
|  | 												} | ||
|  | 											] | ||
|  | 										} | ||
|  | 									] | ||
|  | 								} | ||
|  | 							], | ||
|  | 							"terminal": true | ||
|  | 						} | ||
|  | 					] | ||
|  | 				} | ||
|  | 			} | ||
|  | 		} | ||
|  | 	} | ||
|  | } |