Better proxying
This commit is contained in:
parent
ffff60e036
commit
571894a6a4
2 changed files with 30 additions and 3 deletions
|
@ -10,16 +10,16 @@ I live in Kansas City where I help run <a target="_blank"
|
|||
href="https://kcrising.church">a small Christian church</a>, raise three boys
|
||||
with my <a target="_blank"
|
||||
href="https://www.instagram.com/valerielauren93">awesome wife</a>, and write
|
||||
software for <a target="_blank" href="https://getdivvy.com">Divvy (bought by
|
||||
software for <a target="_blank" href="https://getdivvy.com">Divvy (acquired by
|
||||
Bill.com)</a>.
|
||||
|
||||
I run a lot of self-hosted software here at home on some machines that sit on
|
||||
[an unnecessarily large server rack in my basement][rack]. I love building
|
||||
[keyboards][kb], too. [I heavily customize my workflow][wf] and you can
|
||||
see how I set everything up with [Nix][nix] if you like (or even my old
|
||||
[dotfiles](df)).
|
||||
[dotfiles][df]).
|
||||
|
||||
Occasionally, I post technical articles (of varying length and complexity) here.
|
||||
Occasionally, I post articles here.
|
||||
|
||||
[rack]: //files.lyte.dev/images/server-rack-angle-2023-07.jpg
|
||||
[kb]: //files.lyte.dev/keyboards
|
||||
|
|
|
@ -34,3 +34,30 @@ You can use something like `go env -w GOPROXY=http://localhost:9981,direct` to
|
|||
avoid prefixing all your `go` commands with the environment variable. Obviously,
|
||||
this can cause things to break weirdly if/when the `goproxy server` dies or the
|
||||
tunnel is disconnected. Tread lightly!
|
||||
|
||||
One last possible step is that when the proxy machine clones the repo it may try
|
||||
to do so over HTTPS when you almost certainly want it to use SSH. To avoid this,
|
||||
you can do something like this in `~/.gitconfig` or `~/.config/git/config` to
|
||||
force git to use SSH instead of HTTPS:
|
||||
|
||||
```ini
|
||||
[url "git@git.example.com:"]
|
||||
insteadOf = "https://git.example.com"
|
||||
```
|
||||
|
||||
My full invocation looks something like this:
|
||||
|
||||
```shell_session
|
||||
go install github.com/goproxy/goproxy/cmd/goproxy@latest
|
||||
# put this cute background job somewhere or `disown`
|
||||
GOPRIVATE=git.example.com GOMODCACHE=~/go goproxy server --address localhost:58320 &
|
||||
```
|
||||
|
||||
And then on the client:
|
||||
|
||||
```shell_session
|
||||
# put this cute background job somewhere or `disown`
|
||||
ssh -L 58320:localhost:58320 $PROXYHOST &
|
||||
go env -w GOPROXY=http://localhost:58320,direct
|
||||
go mod tidy
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue