在上一篇博文里,用 Swift 的框架 Vapor 写服务器 我们写了个简易的服务器,那么如何才能让别人能够访问到你呢?

20170316148966272828848.png

传统一点来说,可以在你家里的路由器上设置下端口转发,但这个太麻烦了,ngrok 这项服务可以一条命令这个问题。

安装 ngrok

如果你没有安装 homebrew 你可以按照官网上的指南安装,但如果有 homebrew,这件事就变得超级简单了。

brew cask install ngrok

安装完成后,去 官网 注册个账号,你可以在 Auth 页面找到授权令牌。使用下面的命令,完成授权

ngrok authtoken <token>

开启映射

如果你的服务器开启的端口是 8000,那么可以用户下面这条命令

ngrok http 8000

此刻,ngrok 就会启动一个隧道

ngrok by @inconshreveable                                                                                                             (Ctrl+C to quit)
                                                                                                                                                      
Session Status                online                                                                                                                  
Account                       Kevin (Plan: Free)                                                                                                      
Version                       2.1.18                                                                                                                  
Region                        United States (us)                                                                                                      
Web Interface                 http://127.0.0.1:4040                                                                                                   
Forwarding                    http://d6a1dd59.ngrok.io -> localhost:8000                                                                              
Forwarding                    https://d6a1dd59.ngrok.io -> localhost:8000                                                                             
                                                                                                                                                      
Connections                   ttl     opn     rt1     rt5     p50     p90                                                                             
                              0       0       0.00    0.00    0.00    0.00   

你可以看到,ngrok 把 d6a1dd59.ngrok.io 地址转发到了你本机的 localhost:8000 这个地址每次执行 ngrok http 8000 时会重新分配。

现在在浏览器里打开 d6a1dd59.ngrok.io 你就可以看到自己的服务器相应了。