app.example.com {
	forward_auth authelia:9091 {
		uri /api/authz/forward-auth
		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": "vars"
																		}
																	]
																},
																{
																	"handle": [
																		{
																			"handler": "headers",
																			"request": {
																				"set": {
																					"Remote-Email": [
																						"{http.reverse_proxy.header.Remote-Email}"
																					]
																				}
																			}
																		}
																	],
																	"match": [
																		{
																			"not": [
																				{
																					"vars": {
																						"{http.reverse_proxy.header.Remote-Email}": [
																							""
																						]
																					}
																				}
																			]
																		}
																	]
																},
																{
																	"handle": [
																		{
																			"handler": "headers",
																			"request": {
																				"set": {
																					"Remote-Groups": [
																						"{http.reverse_proxy.header.Remote-Groups}"
																					]
																				}
																			}
																		}
																	],
																	"match": [
																		{
																			"not": [
																				{
																					"vars": {
																						"{http.reverse_proxy.header.Remote-Groups}": [
																							""
																						]
																					}
																				}
																			]
																		}
																	]
																},
																{
																	"handle": [
																		{
																			"handler": "headers",
																			"request": {
																				"set": {
																					"Remote-Name": [
																						"{http.reverse_proxy.header.Remote-Name}"
																					]
																				}
																			}
																		}
																	],
																	"match": [
																		{
																			"not": [
																				{
																					"vars": {
																						"{http.reverse_proxy.header.Remote-Name}": [
																							""
																						]
																					}
																				}
																			]
																		}
																	]
																},
																{
																	"handle": [
																		{
																			"handler": "headers",
																			"request": {
																				"set": {
																					"Remote-User": [
																						"{http.reverse_proxy.header.Remote-User}"
																					]
																				}
																			}
																		}
																	],
																	"match": [
																		{
																			"not": [
																				{
																					"vars": {
																						"{http.reverse_proxy.header.Remote-User}": [
																							""
																						]
																					}
																				}
																			]
																		}
																	]
																}
															]
														}
													],
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"X-Forwarded-Method": [
																	"{http.request.method}"
																],
																"X-Forwarded-Uri": [
																	"{http.request.uri}"
																]
															}
														}
													},
													"rewrite": {
														"method": "GET",
														"uri": "/api/authz/forward-auth"
													},
													"upstreams": [
														{
															"dial": "authelia:9091"
														}
													]
												},
												{
													"handler": "reverse_proxy",
													"upstreams": [
														{
															"dial": "backend:8080"
														}
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						}
					]
				}
			}
		}
	}
}