docker | 利用 Caddy 非常简单地部署反向代理
最近看了一篇关于Caddy的文章,发现Caddy确实不错。
而且Caddy的反代设置非常简单,于是抽空研究了一下,弄了个利用Caddy反代的docker镜像
镜像①:jialezi/proxy-http
地址:https://hub.docker.com/r/jialezi/proxy-http/
镜像②:jialezi/proxy-http
地址:https://hub.docker.com/r/jialezi/proxy-https/
说明:
proxy-http
docker run -d -p 80:80 -e proxy=< the proxy site > -e host=< your domian or :80> jialezi/proxy-http
env:
1.proxy=< the proxy site >
example: proxy=https://www.baidu.com
2.host=< your domian or :80>
example: host=http://geeglo.ml or host=:80
eg:
docke run -d -p 82:80 -e proxy=https://www.baidu.com -e host=:80 jialezi/proxy-http
browse: http://ip:82
--------------------------------------------------------------------------------------------------
proxy-https
docker run -d -p 443:443 -e proxy=< the proxy site> -e host=<https://your domian> -e [email protected] jialezi/proxy-https
需要注意的是,申请 SSL证书前,请务必提前解析好域名记录(解析后最好等一会,以全球生效),否则 Caddy会申请并配置失败!
env:
1.proxy=< the proxy site >
2.host=< your domian >
3.eamil=< your email > (用于申请ssl)
eg:
docker run -d -e proxy=https://www.google.com -e host=https://geeglo.ml -e email [email protected] jialezi/proxy-https
browse: https://geeglo.ml
实例:1025
其他Caddy的用法和一键脚本请移步至利用 Caddy 轻松实现反向代理/镜像(支持自签SSL证书)
Caddy这样单网站反代的可用性较低,凑合玩玩就好。
如果反代谷歌的这个镜像不错jialezi/google-mirror
演示实例:https://gug.arukascloud.io/
笔记:
本地build docker镜像:
docker build --no-cache -f="Dockerfile" -t jialezi/proxy-http .
查看镜像详情:
docker inspect 58c01a7eb543
关于ENV变量:
因为 Dockerfile 的 RUN 命令是在 build 的时候运行的,所以读取 ENV 并修改 Caddyfile 只在 build 的时候发生了,而 docker run 命令附带新的 env proxy=baidu.com 启动容器的时候,只是当时的环境变量改变了,而 RUN 命令并没有运行,所以 Caddyfile 并没有被修改,所以即使环境变量是 baidu.com 而 caddyfile 仍然是 google.com 。
建议根据 env 开机启动个 sh 脚本写配置文件 。
End、
匿名