summaryrefslogtreecommitdiff
path: root/caddytest/integration/caddyfile_adapt/forward_auth_authelia.txt
blob: e7cbb0f573e1af201db51df3587a6a39f8381bd8 (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
app.example.com {
	forward_auth authelia:9091 {
		uri /api/verify?rd=https://authelia.example.com
		copy_headers Remote-User Remote-Groups Remote-Name Remote-Email
	}

	reverse_proxy backend:8080
}
----------
{
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [
						":443"
					],
					"routes": [
						{
							"match": [
								{
									"host": [
										"app.example.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"handle_response": [
														{
															"match": {
																"status_code": [
																	2
																]
															},
															"routes": [
																{
																	"handle": [
																		{
																			"handler": "headers",
																			"request": {
																				"set": {
																					"Remote-Email": [
																						"{http.reverse_proxy.header.Remote-Email}"
																					],
																					"Remote-Groups": [
																						"{http.reverse_proxy.header.Remote-Groups}"
																					],
																					"Remote-Name": [
																						"{http.reverse_proxy.header.Remote-Name}"
																					],
																					"Remote-User": [
																						"{http.reverse_proxy.header.Remote-User}"
																					]
																				}
																			}
																		}
																	]
																}
															]
														},
														{
															"routes": [
																{
																	"handle": [
																		{
																			"exclude": [
																				"Connection",
																				"Keep-Alive",
																				"Te",
																				"Trailers",
																				"Transfer-Encoding",
																				"Upgrade"
																			],
																			"handler": "copy_response_headers"
																		}
																	]
																},
																{
																	"handle": [
																		{
																			"handler": "copy_response"
																		}
																	]
																}
															]
														}
													],
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"X-Forwarded-Method": [
																	"{http.request.method}"
																],
																"X-Forwarded-Uri": [
																	"{http.request.uri}"
																]
															}
														}
													},
													"rewrite": {
														"method": "GET",
														"uri": "/api/verify?rd=https://authelia.example.com"
													},
													"upstreams": [
														{
															"dial": "authelia:9091"
														}
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "backend:8080"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						}
					]
				}
			}
		}
	}
}