Linux

儘管在standalone.xml文件中正確綁定了IP地址,但無法遠端訪問jboss

  • February 2, 2017

我正在使用 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 客戶端訪問它。可能出了什麼問題?

執行以下測試以找出您的問題是什麼以及如何解決它:

  • 對於公共介面,您應該使用您的伺服器 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,重新啟動您的網路伺服器並檢查您是否仍然可以在 8050 上看到您的 apache 索引頁面。- 並且由於您在評論中提到當 apache 未使用預設 80 埠時您無法訪問您的索引頁面,我們可以得出以下結論↴

結論$$ According to the Chat Session $$

根據我們在聊天會話中所做的測試,當 Apache 設置在 80 埠時,OP 可以訪問 Apache 索引頁面,但無法使用除 80 之外的任何其他埠訪問它。因此我們可以得出結論,提供者正在過濾和阻止其他埠超過 80、22 等。所以 OP 應該聯繫 VPS 提供商並要求他們允許他需要的埠。問題的發生是由於 VPS 提供商的防火牆,而不是 OP 所做的任何配置或設置。

引用自:https://serverfault.com/questions/830053