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

Posted

技术标签:

【中文标题】如何让 Quarkus 监听所有网络接口而不是 localhost?【英文标题】:How to make Quarkus to listen on all network interfaces instead of localhost? 【发布时间】:2019-07-29 08:06:44 【问题描述】:

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

如何改变这种行为?

【问题讨论】:

【参考方案1】:

更新

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


默认情况下,Quarkus 仅侦听 localhost (127.0.0.1)。要让 Quarkus 监听所有网络接口(这非常方便,例如在 Docker 容器或 Kubernetes Pod 中运行时),需要设置 quarkus.http.host 属性。

如果您总是希望 Quarkus 应用程序监听所有接口,您可以设置 quarkus.http.host=0.0.0.0 在您的application.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

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

./example-runner -Dquarkus.http.host=0.0.0.0

【讨论】:

我在 quarkus.io/guides/all-config 中看到,在开发模式下它默认为 localhost。这看起来在 Quarkus 1.9 中已更改

以上是关于如何让 Quarkus 监听所有网络接口而不是 localhost?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 ngrok 客户端监听特定的主机名而不是 localhost?

为啥“Quarkus”选择“Agroal”而不是“HikariCP”作为首选数据源和连接池实现? [关闭]

kali linux: 网卡监听及扫描网络

如何让红隼网络服务器监听非本地主机请求?

如何使用netstat命令查看网络状态

android 监听屏幕是不是被触碰过?