@marcel91200 / caddy Mirror · read-only
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 11, 01:00 UTC

master
caddyfiletest 266 lines 5.29 KB
Raw
1 :8881
2
3 forward_auth localhost:9000 {
4 uri /auth
5 copy_headers A>1 B C>3 {
6 D
7 E>5
8 }
9 }
10 ----------
11 {
12 "apps": {
13 "http": {
14 "servers": {
15 "srv0": {
16 "listen": [
17 ":8881"
18 ],
19 "routes": [
20 {
21 "handle": [
22 {
23 "handle_response": [
24 {
25 "match": {
26 "status_code": [
27 2
28 ]
29 },
30 "routes": [
31 {
32 "handle": [
33 {
34 "handler": "vars"
35 }
36 ]
37 },
38 {
39 "handle": [
40 {
41 "handler": "headers",
42 "request": {
43 "delete": [
44 "1"
45 ]
46 }
47 }
48 ]
49 },
50 {
51 "handle": [
52 {
53 "handler": "headers",
54 "request": {
55 "set": {
56 "1": [
57 "{http.reverse_proxy.header.A}"
58 ]
59 }
60 }
61 }
62 ],
63 "match": [
64 {
65 "not": [
66 {
67 "vars": {
68 "{http.reverse_proxy.header.A}": [
69 ""
70 ]
71 }
72 }
73 ]
74 }
75 ]
76 },
77 {
78 "handle": [
79 {
80 "handler": "headers",
81 "request": {
82 "delete": [
83 "B"
84 ]
85 }
86 }
87 ]
88 },
89 {
90 "handle": [
91 {
92 "handler": "headers",
93 "request": {
94 "set": {
95 "B": [
96 "{http.reverse_proxy.header.B}"
97 ]
98 }
99 }
100 }
101 ],
102 "match": [
103 {
104 "not": [
105 {
106 "vars": {
107 "{http.reverse_proxy.header.B}": [
108 ""
109 ]
110 }
111 }
112 ]
113 }
114 ]
115 },
116 {
117 "handle": [
118 {
119 "handler": "headers",
120 "request": {
121 "delete": [
122 "3"
123 ]
124 }
125 }
126 ]
127 },
128 {
129 "handle": [
130 {
131 "handler": "headers",
132 "request": {
133 "set": {
134 "3": [
135 "{http.reverse_proxy.header.C}"
136 ]
137 }
138 }
139 }
140 ],
141 "match": [
142 {
143 "not": [
144 {
145 "vars": {
146 "{http.reverse_proxy.header.C}": [
147 ""
148 ]
149 }
150 }
151 ]
152 }
153 ]
154 },
155 {
156 "handle": [
157 {
158 "handler": "headers",
159 "request": {
160 "delete": [
161 "D"
162 ]
163 }
164 }
165 ]
166 },
167 {
168 "handle": [
169 {
170 "handler": "headers",
171 "request": {
172 "set": {
173 "D": [
174 "{http.reverse_proxy.header.D}"
175 ]
176 }
177 }
178 }
179 ],
180 "match": [
181 {
182 "not": [
183 {
184 "vars": {
185 "{http.reverse_proxy.header.D}": [
186 ""
187 ]
188 }
189 }
190 ]
191 }
192 ]
193 },
194 {
195 "handle": [
196 {
197 "handler": "headers",
198 "request": {
199 "delete": [
200 "5"
201 ]
202 }
203 }
204 ]
205 },
206 {
207 "handle": [
208 {
209 "handler": "headers",
210 "request": {
211 "set": {
212 "5": [
213 "{http.reverse_proxy.header.E}"
214 ]
215 }
216 }
217 }
218 ],
219 "match": [
220 {
221 "not": [
222 {
223 "vars": {
224 "{http.reverse_proxy.header.E}": [
225 ""
226 ]
227 }
228 }
229 ]
230 }
231 ]
232 }
233 ]
234 }
235 ],
236 "handler": "reverse_proxy",
237 "headers": {
238 "request": {
239 "set": {
240 "X-Forwarded-Method": [
241 "{http.request.method}"
242 ],
243 "X-Forwarded-Uri": [
244 "{http.request.uri}"
245 ]
246 }
247 }
248 },
249 "rewrite": {
250 "method": "GET",
251 "uri": "/auth"
252 },
253 "upstreams": [
254 {
255 "dial": "localhost:9000"
256 }
257 ]
258 }
259 ]
260 }
261 ]
262 }
263 }
264 }
265 }
266 }