You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+43-2Lines changed: 43 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,14 +8,16 @@ It has the following features:
8
8
9
9
* URL rewriting
10
10
11
-
If the upstream HTTP server listens on `127.0.0.1:3000` and you want to get your browser to access to it by a request to `http://example.com`, the configuration should look as follows:
11
+
If you want to get your browser to access to the upstream HTTP server listening on `127.0.0.1:3000` by a request to `http://example.com`, the configuration should look as follows:
12
12
13
13
```
14
14
hosts:
15
15
http://example.com:
16
16
- ^(/*)$: http://127.0.0.1:3000$1
17
17
```
18
18
19
+
This can be done since the name resolution is done in devproxy, which is configured to map any request for http://example.com to http://127.0.0.1:3000.
20
+
19
21
* Transparent TLS wrapping (simulation of an SSL/TLS-enabled environment)
20
22
21
23
You can also make it possible to direct the request to `https://example.com/` to the upstream by adding the configuration like the following:
@@ -28,7 +30,7 @@ It has the following features:
28
30
- ^(/*)$: http://127.0.0.1:3000$1
29
31
```
30
32
31
-
It is however necessary to set up the private PKI for issuing bogus server certificates and let your browser trust the PKI's root CA certificate. **DO IT ON YOUR OWN RISK.**
33
+
Even though you don't have a valid certificate prepared for `example.com`, devproxy automatically generates it on the fly. However, it is necessary to set up the private PKI for issuing bogus server certificates and let your browser trust the PKI's root CA certificate. **DO IT ON YOUR OWN RISK.**
32
34
33
35
The CA for issuing bogus server certificates is configured as follows:
34
36
@@ -68,6 +70,45 @@ It has the following features:
68
70
X-Cgi-Path-Info: $3
69
71
```
70
72
73
+
* Proxy chaining
74
+
75
+
You can direct outgoing requests to another proxy server. This is useful in a restricted network environment.
76
+
77
+
```
78
+
proxy:
79
+
http: http://anoother-proxy-server:8080
80
+
https: http://another-proxy-server:8080
81
+
```
82
+
83
+
`excluded` directive can be used when you want to prevent the requests to the specific hosts from being proxied.
84
+
85
+
```
86
+
excluded:
87
+
- 127.0.0.1
88
+
- localhost
89
+
- intranet.example.com
90
+
```
91
+
92
+
Or inversely, in case of whitelisting:
93
+
94
+
```
95
+
included:
96
+
- intranet.example.com
97
+
- foobar.example.com
98
+
```
99
+
100
+
TLS proxy can also be specified.
101
+
102
+
```
103
+
proxy:
104
+
http: https://anoother-proxy-server:8443
105
+
https: https://another-proxy-server:8443
106
+
tls:
107
+
ca_certs: cabundle.crt.pem
108
+
certs:
109
+
- cert: client_crt.pem # this can be either the filename of a PEM-formatted certificate or a PEM string itself.
110
+
key: client_key.pem # this can be either the filename of a PEM-formatted private key or a PEM string itself.
0 commit comments