# 带 TLS 的自动公共地址
在更加 "真实的环境" (例如公共,远程地址而不是本地主机)中测试Web应用程序服务器是否很棒?
有很多提供这种功能的第三方工具,但是我认为[ngrok](https://github.com/inconshreveable/ngrok)是其中最好的一种。它像Iris一样受欢迎并经过多年的测试。
iris 提供 ngrok 的集成。此功能简单但功能强大。当你想在远程会议上向同事或项目负责人快速展示开发进度时,这确实很有帮助。
请按照以下步骤临时将你的本地 Iris Web 服务器转换为公共服务器。
继续 [下载 ngrok](https://ngrok.io/),将其添加到$ PATH环境变量中,
简单的传递 `WithTunneling` 配置到你的 `app.Run` 方法中,
你就已经准备好 [开始](https://www.facebook.com/iris.framework/photos/a.2420499271295384/3261189020559734/?type=3&theater) 了!

* `ctx.Application().ConfigurationReadOnly().GetVHost()` 方法返回公共域值。虽然很少用,但是功能还是在的。 大多数情况下,你使用相对网址路径而不是绝对网址(或者必须使用).
* ngrok 是否已在运行都无关紧要, Iris 框架聪明到可以使用 ngrok 的 [web API](https://ngrok.com/docs) 去创建一个隧道。
完整的 `Tunneling` 配置:
```
app.Run(iris.Addr(":8080"), iris.WithConfiguration(
iris.Configuration{
Tunneling: iris.TunnelingConfiguration{
AuthToken: "my-ngrok-auth-client-token",
Bin: "/bin/path/for/ngrok",
Region: "eu",
WebInterface: "127.0.0.1:4040",
Tunnels: []iris.Tunnel{
{
Name: "MyApp",
Addr: ":8080",
},
},
},
}))
```
阅读有关 [配置](https://github.com/kataras/iris/wiki/Configuration)的更多信息。