无法通过端口 9000 访问 Azure 虚拟机以进行 Sonarqube 安装

无法通过端口 9000 访问 Azure 虚拟机以进行 Sonarqube 安装

我正在尝试在 Microsoft Azure 托管的虚拟机上[email protected]安装。一切正常,只是我无法使用我的物理机浏览postgresqlDebian 9 Stretchmydns.myregion.cloudapp.azure.com:9000

有任何线索可以解决此问题吗?


您需要了解的信息:

  • Sonarqube 正在运行(日志显示 Sonarqube 已启动并正常运行)
  • nmap localhost 显示:
    • 22/tcp 开启 ssh
    • 80/tcp 开放 http
    • 5432/tcp 打开 postgresql
    • 9000/tcp 打开 cslistener
    • 9001/tcp 打开 tor-or 端口
  • 经过多次尝试sonar.properties,但目前,除了 DB 凭据部分和带有我的 VM 的 IP 地址的 sonar.web.host 条目外,该文件与默认文件非常接近。
  • 没有线条访问日志文件

注意: 我没有 VM 上的管理员权限,因此我在 Azure 门户上的选项受到限制......

web.log的日志

2018.10.11 09:29:28 ERROR web[][o.a.c.h.Http11NioProtocol] Failed to initialize end point associated with ProtocolHandler ["http-nio-13.69.61.190-9000"] java.net.BindException: Cannot assign requested address at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:433) at sun.nio.ch.Net.bind(Net.java:425) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:210) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:982) at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:245) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:620) at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:66) at org.apache.catalina.connector.Connector.initInternal(Connector.java:997) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:549) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:875) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:367) at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:61) at org.sonar.server.app.WebServer.start(WebServer.java:51) at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:113) at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:100) at org.sonar.server.app.WebServer.main(WebServer.java:91) 2018.10.11 09:29:28 ERROR web[][o.s.s.a.EmbeddedTomcat] Fail to start web server

编辑:将 sonar.properties 移动到 localhost 时,curl http://localhost:9000从 VM 执行并给我 shell 中的网页,这肯定是一些 Azure 和 ip 配置...

答案1

2018.10.11 09:29:28 错误 web[][oachHttp11NioProtocol] 无法初始化与 ProtocolHandler 关联的端点 ["http-nio-13.69.61.190-9000"] java.net.BindException: 无法分配请求的地址

这就是你的问题- 这通常意味着端口因某种原因正在使用中。我猜 Java 的语法有点奇怪。考虑到这一点,查看正在使用的端口,就会9000/tcp open cslistener弹出一行 - 正在使用的端口。虽然我不熟悉 sonarqube,但使用不同的端口可能会解决问题。

文档表明这9000是您的默认端口(与我的诊断很吻合),要修复它您需要进行编辑sonar.properties- 我相信应该有一行sonar.web.port=9000可以更改为任何开放端口。

相关内容