!Logo
Samply.Beam.Connect是分布式任务代理Samply.Beam的HTTP中继应用。它用于提供透明的HTTP封装方法,通过Samply.Beam任务机制传输请求和回复,其使用遵循常规HTTP代理语义。
本镜像适用于已部署Samply.Beam环境的场景,需已存在运行中的Samply.Beam.Broker(中央代理)、Samply.Beam.CA(证书颁发机构)和至少两个本地Samply.Proxies(代理节点)。如需搭建此环境,请参考Samply.Beam文档。
bashgit clone [***] cd beam-connect
bashcargo build --release
进入二进制文件目录(默认构建后路径为./target/release),启动Samply.Beam.Connect:
bash./connect --proxy-url <PROXY_URL> --app-id <APP_ID> --local-targets-file <LOCAL_TARGETS_FILE> --discovery-url <DISCOVERY_URL> (--proxy-apikey <PROXY_APIKEY>) (--bind-addr 0.0.0.0:8062)
必填参数:
PROXY_URL:用于连接Samply.Broker的本地Samply.Proxy的URL。APP_ID:Beam.Connect应用的BeamId。LOCAL_TARGETS_FILE:本地服务解析文件的路径(见请求路由)。DISCOVERY_URL:用于查询中央服务发现的URL(或本地文件路径)(见请求路由)。仅接收模式需填参数:
PROXY_APIKEY:Beam.Connect在Samply.Broker上注册监听时使用的API密钥。可选参数:
BIND_ADDR:Beam.Connect监听的接口和端口,默认值为0.0.0.0:8062。NO_AUTH:可选标志,设置后Samply.Beam.Connect不要求Proxy Authorization头,即转发请求时不进行(客户端)认证。所有参数均可通过环境变量指定。
bashdocker pull samply/beam-connect
通过环境变量提供与作为应用运行相同的参数:
bashdocker run -e PROXY_URL='<PROXY_URL>' \ -e APP_ID='<APP_ID>' \ -e LOCAL_TARGETS_FILE='<LOCAL_TARGETS_FILE>' \ -e DISCOVERY_URL='<DISCOVERY_URL>' \ -e PROXY_APIKEY='<PROXY_APIKEY>' \ -e BIND_ADDR='<BIND_ADDR>' \ -e NO_AUTH='true' \ samply/beam-connect
说明:环境变量
PROXY_APIKEY仅在接收模式下需要;BIND_ADDR和NO_AUTH为可选参数。
以下是使用cURL通过Beam.Connect访问第23大学医院(uk23)内部服务的示例:
bashcurl -x [***] -H "Proxy-Authorization: ApiKey connect1.proxy23.localhost Connect1Secret" -H "Authorization: basic YWxhZGRpbjpvcGVuc2VzYW1l" [***]
-x [***]:指定Beam.Connect作为HTTP代理。-H "Proxy-Authorization: ApiKey connect1.proxy23.localhost Connect1Secret":Beam.Connect与Samply.Proxy之间的认证信息。-H "Authorization: basic YWxhZGRpbjpvcGVuc2VzYW1l":将被转发到目标资源的认证头。[***]:请求的目标资源。需提供请求资源与Beam.AppId之间的可配置映射以路由消息。此映射通过以下方式实现:首先,中央服务发现将HTTP权威部分(示例中的uk23.virtual)映射到可访问的Beam.AppId(接收方);然后,同一权威部分通过本地目标文件替换为内部主机名。映射示例可在examples/文件夹中找到。
通信中的错误将以适当的HTTP响应返回。
若Beam.Connect前部署了一个或多个反向代理,Host头可能被代理覆盖。此时,可设置X-Replace-Host头手动替换Beam.Connect中的主机头。
如命令行参数列表所述,中央站点发现信息从指定的URL或本地JSON文件获取。为避免本地服务需要对外连接,Samply.Beam.Connect将接收的信息通过本地REST端点导出:GET http://<beam_connect_url>:<beam_connect_port>/sites。注意,此信息仅在启动时获取,在程序运行期间保持静态。
支持HTTPS,但需配置以下参数:
SSL_CERT_PEM:用于传入SSL连接的PEM证书文件路径。SSL_CERT_KEY:SSL连接对应的密钥文件路径。TLS_CA_CERTIFICATES_DIR:若本地目标使用自签名证书且未被beam-connect信任,需将目标证书作为PEM文件放置于此目录下。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429