【问题标题】:JBoss | HTTP/1.1 400 No Host matches server name localhost老板 | HTTP/1.1 400 没有主机匹配服务器名称 localhost
【发布时间】:2019-07-07 01:01:28
【问题描述】:

我在 docker 容器中运行一个应用程序,而 JBoss-4.2 服务器的 server.xml 中的主机是“localhost”。
这个命令

curl -v localhost:8090/ 

建立连接但返回“HTTP/1.1 400 No Host matches server name localhost” 和

cat /etc/hosts 

给了

127.0.0.1 本地主机
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 5f6b9e76d025
127.0.0.1 endpoint.used.bytheapp

有什么建议吗?

【问题讨论】:

  • 看起来您显示了容器的 /etc/hosts。但是,如果您从主机执行 curl 命令,它将从主机的 /etc/hosts 中的 localhost 查找。里面有没有localhost?
  • @Marvin curl 是从容器内部启动的
  • 那么8090是从哪里来的呢? 8080 是 JBOSS 的默认端口。你能提供你的 Dockerfile 和/或 jboss conf 吗?这会更容易理解。另外,“curl 127.0.0.1:8090”是否在您的主机上工作?

标签: docker http jboss hosts


【解决方案1】:

这里的案例是关于连接到在 docker 容器内运行的服务器,该服务器是 JBoss-4.2.2.GA。
这在某种程度上被认为是远程连接。对于 JBoss-4.2.0.GA 及更高版本的情况,通过使用 -b 0.0.0.0 运行服务器来解决问题。

关于必须添加的选项的参考:https://developer.jboss.org/wiki/JBoss42FAQ

【讨论】:

    猜你喜欢
    • 2023-01-17
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多