summaryrefslogtreecommitdiff
path: root/caddytest/integration/caddyfile_adapt/reverse_proxy_options.txt
blob: 544bb9ff67945c6610f286fb5bc693ffd59be971 (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

https://example.com {
	reverse_proxy /path http://localhost:54321 {
		header_up Host {host}
		header_up X-Real-IP {remote}
		header_up X-Forwarded-For {remote}
		header_up X-Forwarded-Port {server_port}
		header_up X-Forwarded-Proto "http"

		buffer_requests

		transport http {
			read_buffer 10MB
			write_buffer 20MB
			max_response_header 30MB
			dial_timeout 3s
			dial_fallback_delay 5s
			response_header_timeout 8s
			expect_continue_timeout 9s

			versions h2c 2
			compression off
			max_conns_per_host 5
			keepalive_idle_conns_per_host 2
		}
	}
}

----------
{
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [
						":443"
					],
					"routes": [
						{
							"match": [
								{
									"host": [
										"example.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"buffer_requests": true,
													"handler": "reverse_proxy",
													"headers": {
														"request": {
															"set": {
																"Host": [
																	"{http.request.host}"
																],
																"X-Forwarded-For": [
																	"{http.request.remote}"
																],
																"X-Forwarded-Port": [
																	"{server_port}"
																],
																"X-Forwarded-Proto": [
																	"http"
																],
																"X-Real-Ip": [
																	"{http.request.remote}"
																]
															}
														}
													},
													"transport": {
														"compression": false,
														"dial_fallback_delay": 5000000000,
														"dial_timeout": 3000000000,
														"expect_continue_timeout": 9000000000,
														"keep_alive": {
															"max_idle_conns_per_host": 2
														},
														"max_conns_per_host": 5,
														"max_response_header_size": 30000000,
														"protocol": "http",
														"read_buffer_size": 10000000,
														"response_header_timeout": 8000000000,
														"versions": [
															"h2c",
															"2"
														],
														"write_buffer_size": 20000000
													},
													"upstreams": [
														{
															"dial": "localhost:54321"
														}
													]
												}
											],
											"match": [
												{
													"path": [
														"/path"
													]
												}
											]
										}
									]
								}
							],
							"terminal": true
						}
					]
				}
			}
		}
	}
}