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
Download a [pre-built binary](https://github.com/jittering/vproxy/releases) or build it from source:
34
+
- Download a [pre-built binary](https://github.com/jittering/vproxy/releases)
35
+
- Install in proper location, e.g., `/usr/local/bin/` or `%SYSTEMROOT%\System32\`
36
+
37
+
or build it from source:
35
38
36
39
```sh
37
-
go get github.com/jittering/vproxy/...
40
+
go install github.com/jittering/vproxy/bin/vproxy@master
38
41
```
39
42
40
43
### Initialize local root CA
@@ -47,15 +50,19 @@ vproxy caroot --create
47
50
48
51
## Usage
49
52
53
+
vproxy can run in two modes, depending on the use case: single-process for proxying a single service or with a standalone daemon for proxying more than one service.
54
+
50
55
vproxy consists of two processes: daemon and client.
51
56
52
-
* The __daemon__ serves as the primary host of the HTTP & HTTPS endpoints for
53
-
your various applications.
54
-
* The __client__ registers a service with the daemon and relays all access logs
57
+
- The __daemon__ serves as the primary host of the HTTP & HTTPS endpoints for
58
+
your applications.
59
+
- The __client__ registers a service with the daemon and relays all access logs
55
60
to the current terminal. It can also optionally run the service for you.
56
61
57
62
A single daemon is required per-host, while clients can be run multiple times.
58
63
64
+
In single-process mode, skip the daemon section.
65
+
59
66
### daemon
60
67
61
68
If installed via homebrew on macOS, running it as a service is easy:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
107
114
```
108
115
109
-
Now visit https://foo.local.com/ to access your application originally running
116
+
Now visit https://foo.local.com to access your application originally running
110
117
on http://127.0.0.1:5000
111
118
112
119
When you stop the client process (i.e., by pressing `^C`), vproxy will deregister the vhost with the daemon and send a TERM signal to it's child process.
113
120
121
+
### Permissions
122
+
123
+
A couple of notes on permissions. The vproxy *daemon* must be run with elevated privileges for the following reasons:
124
+
125
+
- macOS or Linux: binding on privileged ports 80/443 and modifying `/etc/hosts`
0 commit comments