Ngrok 是一个内网穿透工具, 用来将内网的一些服务器暴露到公网上, 目前支持 HTTP 和 TCP 端口转发.
Ngrok 官方提供的服务器因为一些原因导致可用率不高, 但是他们开源了 1.x
版本的服务器端代码(目前最新是 1.7
), 这样就可以自己搭建了.
Ngrok Server 端部署
这个比较简单, 参考官方的文件就可以, 步骤无非就是: 拿到代码, 安装 go, 进行编译.
文档地址: https://github.com/inconshreveable/ngrok/blob/master/docs/DEVELOPMENT.md
编译完成后, 执行 ngrokd -h, 输出如下:
Usage of bin/ngrokd:
-domain="ngrok.com": Domain where the tunnels are hosted
-httpAddr=":80": Public address for HTTP connections, empty string to disable
-httpsAddr=":443": Public address listening for HTTPS connections, emptry string to disable
-log="stdout": Write log messages to this file. 'stdout' and 'none' have special meanings
-log-level="DEBUG": The level of messages to log. One of: DEBUG, INFO, WARNING, ERROR
-tlsCrt="": Path to a TLS certificate file
-tlsKey="": Path to a TLS key file
-tunnelAddr=":4443": Public address listening for ngrok client
参数比较简单, 指定域名, http 端口, 日志, ssl 证书, 隧道端口.
这里有个问题就是, 80, 443 已经让给 nginx 使用了, 虽然 ngrok 能指定到其它端口, 但是在客户端连接后:
一个是 https 识别错误, 一个是访问的时候加端口麻烦, 就算用 nginx 再次代理, 但是客户端显示的端口是没有变化的.
- 阅读剩余部分 -