@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 146 lines 2.83 KB
Raw
1 :8080
2
3 forward_auth 127.0.0.1:9091 {
4 uri /
5 copy_headers X-User-Id X-User-Role
6 }
7 ----------
8 {
9 "apps": {
10 "http": {
11 "servers": {
12 "srv0": {
13 "listen": [
14 ":8080"
15 ],
16 "routes": [
17 {
18 "handle": [
19 {
20 "handle_response": [
21 {
22 "match": {
23 "status_code": [
24 2
25 ]
26 },
27 "routes": [
28 {
29 "handle": [
30 {
31 "handler": "vars"
32 }
33 ]
34 },
35 {
36 "handle": [
37 {
38 "handler": "headers",
39 "request": {
40 "delete": [
41 "X-User-Id"
42 ]
43 }
44 }
45 ]
46 },
47 {
48 "handle": [
49 {
50 "handler": "headers",
51 "request": {
52 "set": {
53 "X-User-Id": [
54 "{http.reverse_proxy.header.X-User-Id}"
55 ]
56 }
57 }
58 }
59 ],
60 "match": [
61 {
62 "not": [
63 {
64 "vars": {
65 "{http.reverse_proxy.header.X-User-Id}": [
66 ""
67 ]
68 }
69 }
70 ]
71 }
72 ]
73 },
74 {
75 "handle": [
76 {
77 "handler": "headers",
78 "request": {
79 "delete": [
80 "X-User-Role"
81 ]
82 }
83 }
84 ]
85 },
86 {
87 "handle": [
88 {
89 "handler": "headers",
90 "request": {
91 "set": {
92 "X-User-Role": [
93 "{http.reverse_proxy.header.X-User-Role}"
94 ]
95 }
96 }
97 }
98 ],
99 "match": [
100 {
101 "not": [
102 {
103 "vars": {
104 "{http.reverse_proxy.header.X-User-Role}": [
105 ""
106 ]
107 }
108 }
109 ]
110 }
111 ]
112 }
113 ]
114 }
115 ],
116 "handler": "reverse_proxy",
117 "headers": {
118 "request": {
119 "set": {
120 "X-Forwarded-Method": [
121 "{http.request.method}"
122 ],
123 "X-Forwarded-Uri": [
124 "{http.request.uri}"
125 ]
126 }
127 }
128 },
129 "rewrite": {
130 "method": "GET",
131 "uri": "/"
132 },
133 "upstreams": [
134 {
135 "dial": "127.0.0.1:9091"
136 }
137 ]
138 }
139 ]
140 }
141 ]
142 }
143 }
144 }
145 }
146 }