如何让 Quarkus 监听所有网络接口而不是 localhost?

geo*_*and 5 quarkus

当我运行 Quarkus 应用程序时,它仅默认侦听/绑定到 localhost。

我怎样才能改变这种行为?

geo*_*and 8

更新

这个PR包含在 Quarkus 中后,从版本开始,0.12.0将不再需要在下一节中解释的配置,因为 Quarkus 将0.0.0.0用作默认主机。


默认情况下,Quarkus 只侦听本地主机 (127.0.0.1)。要使 Quarkus 侦听所有网络接口(例如在 Docker 容器或 Kubernetes Pod 中运行时非常方便的事情),quarkus.http.host需要设置该属性。

如果您始终希望 Quarkus 应用程序侦听您可以quarkus.http.host=0.0.0.0application.properties(在 下src/main/resources)设置的所有接口 。

如果您更愿意保留默认设置并仅在运行时覆盖,您可以按如下方式进行:

在 JVM 模式下运行 Quarkus 应用程序时,您可以使用 quarkus.http.host 系统属性将端口设置为 0.0.0.0。例如:

java -Dquarkus.http.host=0.0.0.0 -jar example-runner.java
Run Code Online (Sandbox Code Playgroud)

相同的属性适用于 GraalVM 本机模式图像。例如:

./example-runner -Dquarkus.http.host=0.0.0.0
Run Code Online (Sandbox Code Playgroud)