如何运行自己的 ngrokd 服务器

如何运行自己的 ngrokd 服务器

运行自己的 ngrok 服务器非常简单!下面的说明将引导您前进!

1. 获取 SSL 证书

ngrok 通过 TLS 提供安全隧道,因此您需要 SSL 证书。假设您想在 .example.com 上创建隧道,请为 .example.com 购买 SSL 证书。
请注意,如果不需要运行 https 隧道,则不需要通配符证书。(事实上,您可以在该点上使用自签名证书,请参阅文档后面的部分)。

2. 修改您的 DNS

您需要使用提供商提供的 DNS 管理工具来创建一个记录,该记录将 *.example.com 指向您将运行 ngrokd 的服务器的 IP 地址。

3. 编译它

您可以使用以下命令编译 ngrokd 服务器:

make release-server

确保编译时将 GOOS/GOARCH 环境变量设置为目标服务器的平台。然后将二进制文件复制到服务器上。

4. 运行服务器

您将使用以下命令运行服务器。

./ngrokd -tlsKey="/path/to/tls.key" -tlsCrt="/path/to/tls.crt" -domain="example.com"

指定 TLS 证书和密钥

ngrok 只进行 TLS 加密连接。当您运行 ngrokd 时,您需要指示它在哪里找到您的 TLS 证书和私钥。使用以下开关指定路径:

-tlsKey="/path/to/tls.key" -tlsCrt="/path/to/tls.crt"

设置服务器的域名

当您运行自己的 ngrokd 服务器时,您需要告诉 ngrokd 它正在运行的域名,以便它知道向客户端发送什么 URL 。

-domain="example.com"

5. 配置客户端

为了连接客户端,您需要在 ngrok 的配置文件中设置两个选项。
ngrok 配置文件是一个简单的 YAML 文件,默认情况下从~/.ngrok 读取。
您可以使用-config 开关指定自定义配置文件路径。
配置文件必须包含以下两个选项。

server_addr: example.com:4443
trust_host_root_certs: true

将 ngrokd 服务器的地址替换为 “example.com:4443” 。
“trust_host_root_certs” 参数指示 ngrok 在建立到服务器的 TLS 连接时信任您计算机上的根证书。
默认情况下,ngrok 仅信任 ngrok.com 的根证书。

6. 与客户机连接

然后,只需像往常一样运行 ngrok 就可以安全地连接到您自己的 ngrokd 服务器!

ngrok 80

具有自签名 SSL 证书的 ngrokd

可以使用自签名证书运行 ngrokd,但需要使用签名 CA 重新编译 ngrok。
如果您选择使用自签名证书,请注意,您必须删除 trust_host_root_certs 证书的配置值或将其设置为 false:

trust_host_root_certs: false

Special thanks @kk86bioinfo, @lyoshenka and everyone in the thread https://github.com/inconshreveable/ngrok/issues/84 for help in writing up instructions on how to do it:

https://gist.github.com/lyoshenka/002b7fbd801d0fd21f2f
https://github.com/inconshreveable/ngrok/issues/84

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值