Ngrok 隧道 https 通过配置

问题描述 投票:0回答:3

我在寻找如何正确编写 ngrok.yml 文件以使其使用 https 启动隧道时遇到一些问题。我现在拥有的是以下内容:

tunnels:
  invenutory:
    proto: http
    addr: 44328
    host_header: localhost

这里的问题是,如果我使用 ngrok 给我的 url,它不会连接(我通过查看它是否到达我的健康检查端点来测试它,但它没有)。但是,如果我使用以下命令启动 ngrok:

ngrok http https://localhost:44328 -host-header="localhost:44328"
然后它就会正确到达我的终点。如何让我的配置文件以同样的方式运行?

编辑:

如果我将

addr
设置为
addr: "https://localhost:44328"
那么它确实可以正确使用 https,但由于某种原因,这在我看来是一种不正确的做法。

ngrok tunnel
3个回答
1
投票

您可以将

bind_tls
标志添加到配置文件中,以根据 docs

仅创建 HTTPS 隧道
tunnels:
  invenutory:
    proto: http
    addr: 44328
    host_header: localhost
    bind_tls: true

0
投票

对于

ngrok
3.4.0 这对我有用:

version: "2"
authtoken: 1qv8wlalala
tunnels:
  api:
    addr: "https://localhost:57335" 
    schemes:
      - https
    inspect: false
    host_header: "https://localhost:57335"
    proto: http

  portal:
    addr: "https://localhost:44365"
    schemes:
      - https
    host_header: "https://localhost:44365"
    proto: http

-1
投票

要使用 ngrok http 隧道启动仅 https 隧道,请使用标志

-bind-tls

这与你如何使用

addr
无关,它可以用来让ngrok知道你的本地服务器是否正在监听http或https。

来自文档

ngrok 假设它转发到的服务器正在侦听未加密的 HTTP 流量,但是如果您的服务器正在侦听加密的 HTTPS 流量怎么办?您可以使用 https:// 方案指定 URL,以请求 ngrok 与您的本地服务器使用 HTTPS。

© www.soinside.com 2019 - 2024. All rights reserved.