跳到主要内容

HTTP

通过域名将内网 HTTP 服务暴露到公网。服务端需开启域名入口,见 域名

domains 必填且非空:可写完整域名(如 web.example.com),或无 . 的短前缀(如 web,需服务端配置 rootDomain),不支持通配符。

示例:穿透 Web 服务

服务端:

# orbien-server.toml
listen = "0.0.0.0:9527"
httpGwPort = 80

客户端:

# orbien.toml
server = "YOUR_SERVER_IP:9527"

[[tunnels]]
name = "web"
protocol = "http"
service = "127.0.0.1:8080"
domains = ["web.example.com"]

web.example.com 解析到服务端 IP 后访问:

curl http://web.example.com

示例:Basic 鉴权

[[tunnels]]
name = "web-auth"
protocol = "http"
service = "127.0.0.1:8080"
domains = ["web.example.com"]
basicAuthUser = "alice"
basicAuthPassword = "secret"

访问时需带 Basic 凭证,失败返回 401

curl -u alice:secret http://web.example.com

示例:改写 Host

转发到本地服务时,把请求的 Host 改成指定值:

[[tunnels]]
name = "web"
protocol = "http"
service = "127.0.0.1:8080"
domains = ["web.example.com"]
hostHeaderRewrite = "127.0.0.1"

参数

参数必填默认值说明
name隧道名称,唯一
protocol固定为 http
service本地服务地址,如 127.0.0.1:8080
domains域名列表,至少一个;完整域名或无 . 的前缀(前缀需服务端 rootDomain
locations路径前缀,如 /api;空表示全部
basicAuthUserHTTP Basic 鉴权用户名;与 basicAuthPassword 都为空则不鉴权
basicAuthPasswordHTTP Basic 鉴权密码
hostHeaderRewrite改写转发到本地服务的 Host;空表示不改
transport.bandwidth0带宽上限(Mbps);0 表示不限制
transport.bandwidthLimitSideclient限速端:client / server
transport.proxyProtocolVersionPROXY Protocol:v1 / v2