summaryrefslogtreecommitdiff
path: root/caddytest/integration/caddyfile_adapt/reverse_proxy_dynamic_upstreams.txt
blob: 384cc0562629be2419b98090a5259fa182ed8ace (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
:8884 {
	reverse_proxy {
		dynamic a foo 9000
	}

	reverse_proxy {
		dynamic a {
			name foo
			port 9000
			refresh 5m
			resolvers 8.8.8.8 8.8.4.4
			dial_timeout 2s
			dial_fallback_delay 300ms
			versions ipv6
		}
	}
}

:8885 {
	reverse_proxy {
		dynamic srv _api._tcp.example.com
	}

	reverse_proxy {
		dynamic srv {
			service api
			proto tcp
			name example.com
			refresh 5m
			resolvers 8.8.8.8 8.8.4.4
			dial_timeout 1s
			dial_fallback_delay -1s
		}
	}
}

----------
{
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [
						":8884"
					],
					"routes": [
						{
							"handle": [
								{
									"dynamic_upstreams": {
										"name": "foo",
										"port": "9000",
										"source": "a"
									},
									"handler": "reverse_proxy"
								},
								{
									"dynamic_upstreams": {
										"dial_fallback_delay": 300000000,
										"dial_timeout": 2000000000,
										"name": "foo",
										"port": "9000",
										"refresh": 300000000000,
										"resolver": {
											"addresses": [
												"8.8.8.8",
												"8.8.4.4"
											]
										},
										"source": "a",
										"versions": {
											"ipv6": true
										}
									},
									"handler": "reverse_proxy"
								}
							]
						}
					]
				},
				"srv1": {
					"listen": [
						":8885"
					],
					"routes": [
						{
							"handle": [
								{
									"dynamic_upstreams": {
										"name": "_api._tcp.example.com",
										"source": "srv"
									},
									"handler": "reverse_proxy"
								},
								{
									"dynamic_upstreams": {
										"dial_fallback_delay": -1000000000,
										"dial_timeout": 1000000000,
										"name": "example.com",
										"proto": "tcp",
										"refresh": 300000000000,
										"resolver": {
											"addresses": [
												"8.8.8.8",
												"8.8.4.4"
											]
										},
										"service": "api",
										"source": "srv"
									},
									"handler": "reverse_proxy"
								}
							]
						}
					]
				}
			}
		}
	}
}