How to enable external Caddy Plugins
The below explains how to enabled external
caddy plugins. Here, caddyserver/forwardproxy plugin is being enabled.
First, get Golang:
cd /usr/local &&
curl -s -L -O https://dl.google.com/go/go1.10.1.linux-amd64.tar.gz
tar -xvzf go1.10.1.linux-amd64.tar.gz
Next, add the following
~/.bash_profile:export GOPATH=$HOME/go
export GOBIN=$HOME/go/bin
export GOROOT=/usr/local/go
Also, add
GOBIN to the PATH environment variable:PATH=$GOBIN:$PATH
export PATH
After this step, you have Golang compiler ready in
/usr/local/go/bin/ directory:# /usr/local/go/bin/go version
go version go1.10.1 linux/amd64
Download the source code of
caddy and caddyserver/forwardproxy plugin:go get github.com/mholt/caddy/caddy
go get github.com/caddyserver/builds
go get github.com/caddyserver/forwardproxy
Add a reference to
caddyserver/forwardproxy plugin in caddy source code. Find "This is where other plugins get plugged in" in $GOPATH/src/github.com/mholt/caddy/caddy/caddymain/run.go file and add a reference to the plugin._ "github.com/caddyserver/forwardproxy"
Finally, build
caddy binary:cd $GOPATH/src/github.com/mholt/caddy/caddy
go run build.go
caddy --version
The
http.forwardproxy plugin is in the list of enabled plugins:# caddy -plugins
Server types:
http
Caddyfile loaders:
short
flag
default
Other plugins:
http.forwardproxy
Labels: caddy, golang, http.forwardproxy

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home