ngrok同时运行多个隧道
·
默认配置文件位置
如果未指定配置文件的位置,ngrok将尝试从默认位置读取一个位置$HOME/.ngrok2/ngrok.yml。配置文件是可选的; 如果该路径不存在,则不会发出错误。
在默认路径中,$ HOME是操作系统定义的当前用户的主目录。它不是环境变量$ HOME,尽管它们通常是相同的。对于主要操作系统,如果您的用户名是example默认配置,则可能会在以下路径中找到:
| OS X. | /Users/example/.ngrok2/ngrok.yml |
|---|---|
| Linux的 | /home/example/.ngrok2/ngrok.yml |
| 视窗 | C:\Users\example\.ngrok2\ngrok.yml |
隧道定义
配置文件的最常见用途是定义隧道配置。定义隧道配置很有用,因为您可以从命令行按名称启动预配置的隧道,而不必每次都记住所有正确的参数。
隧道定义为tunnels配置文件中属性下的名称 - >配置的映射。
定义两个名为'httpbin'和'demo'的隧道
tunnels:
httpbin:
proto: http
addr: 8000
subdomain: alan-httpbin
demo:
proto: http
addr: 9090
hostname: demo.inconshreveable.com
inspect: false
auth: "demo:secret"
启动名为'httpbin'的隧道
ngrok start httpbin
您定义的每个隧道都是配置选项名称到值的映射。配置选项的名称通常与其对应的命令行开关相同。每个隧道都必须定义 proto和addr。其他属性可用,许多属性是特定于协议的。
隧道配置属性
proto |
需要 所有 | 隧道协议名称,中的一个http,tcp,tls |
|---|---|---|
addr |
需要 所有 | 将流量转发到此本地端口号或网络地址 |
inspect |
所有 | 启用http请求检查 |
auth |
HTTP | HTTP基本身份验证凭据以强制执行隧道请求 |
host_header |
HTTP | 将HTTP Host标头重写为此值,或preserve保持不变 |
bind_tls |
HTTP | 性结合的HTTPS或HTTP端点或两者true,false或both |
subdomain |
HTTP TLS | 要请求的子域名。如果未指定,则使用隧道名称 |
hostname |
HTTP TLS | 要求的主机名(需要保留名称和DNS CNAME) |
crt |
TLS | 此路径上的PEM TLS证书可在本地转发之前终止TLS流量 |
key |
TLS | PEM TLS此路径上的私钥,用于在本地转发之前终止TLS流量 |
client_cas |
TLS | 此路径上的PEM TLS证书颁发机构将验证传入的TLS客户端连接证书。 |
remote_addr |
TCP | 绑定给定地址上的远程TCP端口 |
同时运行多个隧道
您可以传递多个隧道名称ngrok start,ngrok将同时运行它们。
从配置文件中启动三个命名隧道
ngrok start admin ssh metrics
ngrok by @inconshreveable
Tunnel Status online
Version 2.0/2.0
Web Interface http://127.0.0.1:4040
Forwarding http://admin.ngrok.io -> 10.0.0.1:9001
Forwarding http://device-metrics.ngrok.io -> localhost:2015
Forwarding https://admin.ngrok.io -> 10.0.0.1:9001
Forwarding https://device-metrics.ngrok.io -> localhost:2015
Forwarding tcp://0.tcp.ngrok.io:48590 -> localhost:22
...
您还可以要求ngrok使用交换机启动配置文件中定义的所有隧道 --all。
启动配置文件中定义的所有隧道
ngrok start --all
相反,您可以让ngrok在没有启动任何隧道的情况下运行--none 。如果您计划完全通过API管理ngrok的隧道,这将非常有用。
在不启动任何隧道的情况下运行ngrok
ngrok start --none
示例配置文件
示例配置文件如下所示。后续部分包含这些示例中显示的所有配置参数的完整文档。
为多个虚拟托管开发站点运行隧道
authtoken: 4nq9771bPxe8ctg7LKr_2ClH7Y15Zqe4bWLWF9p
tunnels:
app-foo:
addr: 80
proto: http
host_header: app-foo.dev
app-bar:
addr: 80
proto: http
host_header: app-bar.dev更多推荐



所有评论(0)