mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-28 01:02:49 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			103 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| :8884 {
 | |
| 	map {host} {upstream} {
 | |
| 		foo.example.com 1.2.3.4
 | |
| 		default 2.3.4.5
 | |
| 	}
 | |
| 
 | |
| 	# Upstream placeholder with a port should retain the port
 | |
| 	reverse_proxy {upstream}:80
 | |
| }
 | |
| 
 | |
| :8885 {
 | |
| 	map {host} {upstream} {
 | |
| 		foo.example.com 1.2.3.4:8080
 | |
| 		default 2.3.4.5:8080
 | |
| 	}
 | |
| 
 | |
| 	# Upstream placeholder with no port should not have a port joined
 | |
| 	reverse_proxy {upstream}
 | |
| }
 | |
| ----------
 | |
| {
 | |
| 	"apps": {
 | |
| 		"http": {
 | |
| 			"servers": {
 | |
| 				"srv0": {
 | |
| 					"listen": [
 | |
| 						":8884"
 | |
| 					],
 | |
| 					"routes": [
 | |
| 						{
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"defaults": [
 | |
| 										"2.3.4.5"
 | |
| 									],
 | |
| 									"destinations": [
 | |
| 										"{upstream}"
 | |
| 									],
 | |
| 									"handler": "map",
 | |
| 									"mappings": [
 | |
| 										{
 | |
| 											"input": "foo.example.com",
 | |
| 											"outputs": [
 | |
| 												"1.2.3.4"
 | |
| 											]
 | |
| 										}
 | |
| 									],
 | |
| 									"source": "{http.request.host}"
 | |
| 								},
 | |
| 								{
 | |
| 									"handler": "reverse_proxy",
 | |
| 									"upstreams": [
 | |
| 										{
 | |
| 											"dial": "{upstream}:80"
 | |
| 										}
 | |
| 									]
 | |
| 								}
 | |
| 							]
 | |
| 						}
 | |
| 					]
 | |
| 				},
 | |
| 				"srv1": {
 | |
| 					"listen": [
 | |
| 						":8885"
 | |
| 					],
 | |
| 					"routes": [
 | |
| 						{
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"defaults": [
 | |
| 										"2.3.4.5:8080"
 | |
| 									],
 | |
| 									"destinations": [
 | |
| 										"{upstream}"
 | |
| 									],
 | |
| 									"handler": "map",
 | |
| 									"mappings": [
 | |
| 										{
 | |
| 											"input": "foo.example.com",
 | |
| 											"outputs": [
 | |
| 												"1.2.3.4:8080"
 | |
| 											]
 | |
| 										}
 | |
| 									],
 | |
| 									"source": "{http.request.host}"
 | |
| 								},
 | |
| 								{
 | |
| 									"handler": "reverse_proxy",
 | |
| 									"upstreams": [
 | |
| 										{
 | |
| 											"dial": "{upstream}"
 | |
| 										}
 | |
| 									]
 | |
| 								}
 | |
| 							]
 | |
| 						}
 | |
| 					]
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 |