一个简单的反向代理程序, 为 sun-panel 插件打造
DockerHub地址:https://hub.docker.com/r/hslr/sun-proxy
- 自动填入目标站的basic信息
- 给代理站增加basic验证
- 代理目录
- 启动的命令行可以指定配置文件
- 在不停止运行(或者停止服务的情况下)的时候自动更新配置文件
- 加入(非basic)网页认证
- 在没有cert证书文件的时候启动https服务或者不启动https服务单独启动http服务
- 缓存服务
- 网址内容替换
域名 => 域名 calendar.cn:8080 => http://192.168.3.100
路径 => 域名 127.0.0.1:8080/istore => http://127.0.0.1:8080
域名 => 路径 127.0.0.1:8080 => http://127.0.0.1:8080/abc
路径 => 路径 127.0.0.1:8080/sun-panel-tool-page => http://localhost:1003/sun-panel-tool-page
-c string
config file path (default "./sun-proxy.yml") 运行时指定配置路径
-ec
generate sample configuration file 生成示例配置文件
执行示例:
./sun-proxy -c ./sun-proxy.yml
一个完整的示例 ./sun-proxy.yml
name: Sun-Proxy
port:
http: 8080
https: 8081
rules:
- domain: "example.com" # 域名(不可以带端口)
path: "/" # 地址 /example/other/path
target_url: "http://192.168.1.100/" # 目标地址 eg: http://example.sun.sun | http://example.sun.sun/path
cert: # 证书地址
key:
./cert/privkey.key
pem:
./cert/fullchain.pem
auth: # 需要验证信息 (Basic Auth)
username:
admin
password:
123456
target_basic_auth: # 目标验证信息(自动输入)
username:
admin
password:
123456
参数 | 示例 | 说明 |
---|---|---|
-v | -v /root/sun-proxy.yml:/app/sun-proxy.yml | [必须]挂载配置文件(要使用绝对路径) |
-v | -v ~/docker_data/sun-proxy/cert:/app/cert | SSL证书目录 |
-p | -p 8080:8080 | http端口 |
-p | -p 8081:8081 | https端口 |
运行:
docker run -d \
-p 8080:8080 \
-p 8081:8081 \
-v /root/sun-proxy.yml:/app/sun-proxy.yml \
-v ~/docker_data/sun-proxy/cert:/app/cert \
--name sun-proxy \
hslr/sun-proxy
构建:
docker build -t hslr/sun-proxy .
# start
./docker-compose up -d
# close
./docker-compose down