尽管在 standalone.xml 文件中正确绑定了 IP 地址,但无法远程访问 jboss

尽管在 standalone.xml 文件中正确绑定了 IP 地址,但无法远程访问 jboss

我正在使用 JBOSS EAP 7。我使用以下命令启动它

sh standalone.sh -b 0.0.0.0

以下是未从命令行明确绑定时的 IP 配置。

 <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:0.0.0.0}"/>
        </interface>
    </interfaces>

除此之外,我还在 standalone.xml 文件中更改了绑定 IP。启动时没有显示任何错误。我没有在服务器上使用 fail2ban 或任何其他类型的防火墙,而是使用端口 8050。

为了确认我的服务器是否正在监听该端口,我运行了以下命令

sudo netstat -tlnp

输出为:

tcp 0 0 0.0.0.0:8050  0.0.0.0:*   LISTEN      4670/java  

为了确认这是 jboss,我运行了

pgrep -f jboss

并在此示例中获得相同的 pid,即 4670。

我检查了 server.log,那里也一切正常。因此我的结论是 JBOSS 在所提到的端口上运行良好,绑定正确(我给了 0.0.0.0 IP 以便能够从任何地方进行远程访问)。但我仍然无法从浏览器或 DHC 客户端访问它。可能出了什么问题?

答案1

执行以下测试来找出您的问题是什么以及如何解决它:

  • 为了民众接口,您应该使用您的服务器 IP 地址。我建议您使用标签<any-address/>而不是 IP 地址。

因此你的standalone.xml图片应该像下面这样:

<interfaces>
    <interface name="management">
       <inet-address value="127.0.0.1"/>
    </interface>
    <interface name="public">
       <any-address/>
    </interface>
</interfaces>
  • 上述解决方案应该可以解决您的问题。但如果没有,请grep 127.0.0.1在您的配置文件中使用,查看是否有任何您遗漏了需要更改的内容0.0.0.0- 例如grep -R 127.0.0.1 /opt/wildfly/*

  • 如果一切正常,但您不知道是什么原因导致了问题,请检查是否收到数据包/请求,您可以使用tcpdump它来检查。

最后一个可能的原因可能是您的 VPS 提供商阻止了任何非全球使用的端口,因此您需要联系他们。要确定您是否应该联系您的提供商,只需进行以下测试:

  • 由于您在评论中提到您可以访问您的 Apache 索引页,请停止您的 JBoss 服务,将您的 Apache 端口从 80 更改为 8050,重新启动您的 Web 服务器并检查您是否仍然可以在 8050 上看到您的 Apache 索引页。 - 并且由于您在评论中提到当 Apache 未使用默认 80 端口时您无法访问您的索引页,我们可以得出以下结论 ↴

结论 [根据聊天记录]

根据我们所做的测试在聊天会话中,楼主在 Apache 端口 80 上设置时可以访问 Apache 主页,但无法通过除 80 之外的任何其他端口访问。因此我们可以得出结论,提供商正在过滤和阻止除 80、22 等端口之外的端口。因此楼主应该联系 VPS 提供商,让他们允许他需要的端口。而且问题的发生是由于 VPS 提供商的防火墙,而不是楼主所做的任何配置或设置。

相关内容