在 Wildfly/Jboss 中部署 ear 期间如何防止 HTTP 404

How to prevent HTTP 404 during deployment of ear in Wildfly/Jboss

我们使用 WildFly 10 作为我们的应用服务器并通过 Docker 进行部署(WF 中的部署是普通的热部署)。我们没有使用 WildFly 的集群机制,只是在前面使用了负载平衡器 (HAProxys)。

问题是 WF 在 EAR 部署仍在进行时打开了它的 HTTP 端口。这(当然?)会导致我们不想在 LB 中专门处理的 HTTP 404 错误。这可能会导致假阴性...

有没有办法只在 EAR 成功启动后才允许 HTTP 连接?

或者是否可以用“503 服务不可用”替换“404 因为此处未部署任何内容”错误?这会更好地表达问题并且很容易在外部处理...

您可以为您所在的主机设置默认响应代码运行。

沿线的东西:

<host name="default-host" alias="localhost" default-response-code="503">

或在命令行中:

/subsystem=undertow/server=default-server/host=default-host:write-attribute(name=default-response-code, value=503)

对于您可能拥有的任何其他主机也是如此。