自定义 Metabase Jetty 网络服务器

在大多数情况下,没有必要修改任何与Metabase如何运行其嵌入的Jetty网络服务器来托管应用程序相关的设置,但如果您希望直接使用HTTPS运行Metabase服务器或需要运行在另一个端口上,这些都可以进行配置。

在另一个端口上运行Metabase

默认情况下,Metabase将在端口3000启动,但如果您希望将应用程序运行在另一个端口上,可以通过设置以下环境变量来实现。

export MB_JETTY_PORT=12345
java -jar metabase.jar

在这个例子中,一旦应用程序启动,您将可以通过端口12345而不是默认端口3000来访问它。

监听特定的网络接口

默认情况下,Metabase将在localhost上监听。在一些生产环境中,您可能希望监听不同的接口,这可以通过使用MB_JETTY_HOST环境变量来实现。

export MB_JETTY_HOST=0.0.0.0
java -jar metabase.jar

使用HTTPS与Metabase

如果您有一个SSL证书并希望直接通过其网络服务器使用HTTPS运行Metabase,您可以通过使用以下环境变量来实现。

export MB_JETTY_SSL="true"
export MB_JETTY_SSL_PORT="8443"
export MB_JETTY_SSL_KEYSTORE="path/to/keystore.jks" # replace this value with your own
export MB_JETTY_SSL_KEYSTORE_PASSWORD="storepass" # replace this value with your own
java -jar metabase.jar

请确保将path/to/keystore.jksstorepass替换为您的Java密钥库的正确路径和密码。应用上述设置后,您将通过提供的证书在端口8443上使用HTTPS运行Metabase。

不知道如何自己生成Java密钥库?这是一个比较高级的话题,但如果您想尝试,可以在Jetty的官方文档中了解更多关于如何配置SSL的信息。否则,您可能会发现最容易的方式是在Metabase之外处理SSL终止。

查看Metabase其他版本的文档。

想改进这些文档吗? 提出更改。