【问题标题】:Ngrok with SSL and hostname带有 SSL 和主机名的 Ngrok
【发布时间】:2017-05-01 03:53:54
【问题描述】:

我正在尝试通过 ngrok 公开我的本地开发站点。我的网站使用 https(在端口 7443 上)并且因为我使用 OpenConnect 进行身份验证,所以我在我的 Windows 主机文件中设置了主机名(例如“127.0.0.1 aaa.bbb.ccc.com”)。在本地,我通过https://aaa.bbb.ccc.com:7443 访问该站点(我无法更改此设置,否则 OpenConnect 将中断)。

我在 ngrok 仪表板中创建了一个保留域,但我不知道如何创建 CNAME 条目 - 这是否需要 hosts 文件中的另一个条目?

我正在尝试使用此命令运行 ngrok:

ngrok tls -hostname=aaa.bbb.ccc.com 7443

但它说我必须提供一个参数。如果我使用

ngrok tls -hostname=aaa.bbb.ccc.com:7443

我收到“隧道会话失败:您必须在绑定之前为您的帐户保留自定义主机名。无法为帐户 'xxxx' 绑定域 'aaa' - 它不喜欢子域。

【问题讨论】:

    标签: windows ssl tunnel ngrok openconnect


    【解决方案1】:

    首先,您应该知道 hostnametls 选项不随免费版本的 ngrok 提供。如果您使用的是付费版本,那么您需要这样做:

    • 在您的仪表板中保留一个域并获取 CNAME
    • 如果您在互联网上注册了域,请转到您注册它的站点并更改 dns 设置以允许您当前的子域从 ngrok 指向 CNAME(据我所知,该域不是互联网域,因此此选项可能不适合您)
    • 对于本地域,尝试将域指向主机文件 "<CNAME> aaa.bbb.ccc.com" 中的 ngrok CNAME
    • 启动 ngrok 并将其指向运行本地服务器的端口,例如 ngrok tls -hostname=aaa.bbb.ccc.com:7443 如果您的服务器运行在 7443 上

    注意:如果您不需要安全的 ssl 连接 (https),​​您可能希望使用 http 选项而不是 tls 选项来启动服务器

    【讨论】:

    • 我升级到付费版试试这个。我还尝试在我的主机文件中添加条目(使用 CNAME 的 IP 地址),但这没有用(502 网关错误)。
    • 如果您使用 tls,那么您需要为域签名证书,否则大多数服务将不接受它(假设您正在尝试设置网络挂钩)。几天前我遇到了这个问题,所以请详细告诉我你做了什么以及你得到的结果,我也许可以提供帮助
    • 我有一个颁发给 *bbb.ccc.com 的证书,它安装在我的 IIS 服务器中。在我使用这个 SSL 证书的站点绑定中。我是否必须使用 TLS 客户端终止,以便 ngrok 知道此证书?例如“ngrok tls -crt tls.crt -key tls.key 443”
    • @Silverfox,如果您运行安装了证书的 IIS 服务器,那么您不需要使用证书运行 ngrok。只要您使用不同的主机名,就会允许 IIS 服务器终止连接。所以假设 IIS 在端口 443 上运行,然后像这样运行 ngrok。 ngrok tls -hostname=aaa.bbb.ccc.com:443 确保您从 ngrok 获得的 CNAME 准确指向 aaa.bbb.ccc.com。我假设您已经更改了 Internet 中的 dns 设置,以允许您的子域指向您从 ngrok 获得的 CNAME。
    猜你喜欢
    • 2020-10-08
    • 2019-06-30
    • 2018-03-04
    • 2011-01-25
    • 1970-01-01
    • 2012-04-30
    • 2014-06-21
    • 2013-11-08
    • 2018-04-22
    相关资源
    最近更新 更多