无法访问 chrome 中由 Quarkus 应用程序以开发模式在 WSL 2 Windows 中公开的本地主机端口

Can't access localhost port in chrome exposed by a Quarkus application in dev mode inseide WSL 2 Windows

我在 Quarkus/Java 中编写的所有应用程序都无法在 localhost:8000 中访问 localhost:8000 当 运行 在 WSL 2.

中暴露在开发模式中时
    __  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
2021-07-27 21:13:15,739 INFO  [io.quarkus] (Quarkus Main Thread) products 1.0.0-SNAPSHOT on JVM (powered by Quarkus 2.0.3.Final) started in 1.613s. Listening on: http://localhost:8080
2021-07-27 21:13:15,744 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-07-27 21:13:15,745 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [amazon-dynamodb, cdi, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-openapi, swagger-ui]

我更改了端口,但没有任何变化。

我在 WSL 2 中测试 运行 一个 docker 图像,我可以通过 chrome.

正常访问
docker run --publish 8000:8000 amazon/dynamodb-local:1.11.477 -jar DynamoDBLocal.jar -inMemory -sharedDb

我测试了另一个用vite/vue写的应用,也可以正常访问

尝试在 application.properties

中设置 quarkus.http.host=0.0.0.0

我第一次尝试使用 Quarkus 时遇到了与此相同的问题。我遵循了 https://quarkus.io/guides/maven-tooling

的指导

这里有指导

By default, quarkus:dev sets the debug host to localhost (for security reasons). If you need to change this, for example, to enable debugging on all hosts, you can use the -DdebugHost option like so:

./mvnw compile quarkus:dev -DdebugHost=0.0.0.0

它帮助我解决了这个问题。希望这对其他人也有帮助。