我有一个自定义配置,这里是示例:
log_level: info
region: ap
tunnels:
http:
addr: 5000
proto: http
ssh:
addr: 22
proto: tcp我在pyngrok上指定了配置路径,但是当我尝试运行ngrok.connect()时,只有HTTP在我的ngrok仪表板上工作并显示,没有ssh隧道。当我尝试pyngrok提供的ngrok二进制文件时:
ngrok start --all --config=/ngrok.yaml 它起作用了!在我的ngrok仪表板上,我有HTTP、HTTPS和TCP。
发布于 2022-09-09 00:57:22
这些命令不相互映射,这就是为什么它们不做相同的事情。connect()调用ngrok start --none,因此它在没有运行隧道的情况下启动ngrok进程和API,然后使用传递给connect()的参数使用ngrok启动隧道。要启动多条隧道,只需使用不同的参数多次调用connect()即可。
from pyngrok import ngrok
conf.get_default().region = "ap"
tunnel1 = ngrok.connect(addr=5000)
tunnel2 = ngrok.connect(addr=22, proto="tcp")在上面的例子中,配置文件甚至是不必要的。但是,如果您已经在配置中有了隧道定义,则只需传递它们的名称即可使用它们。
from pyngrok import ngrok
conf.get_default().config_path = "/ngrok.yml"
tunnel1 = ngrok.connect(name="http")
tunnel1 = ngrok.connect(name="tcp")文档中有许多此类和其他用法的示例,可以找到这里。
https://stackoverflow.com/questions/73650815
复制相似问题