Невозможно подключиться к виртуальной машине Azure через порт 9000 для установки Sonarqube.

Я пытаюсь установить sonarqube@7.3 с postgresql на Debian 9 Stretch виртуальная машина, размещенная в Microsoft Azure. Все работает правильно, за исключением того, что я не могу просматривать свою реальную физическую машину по адресу mydns.myregion.cloudapp.azure.com:9000.

Любые подсказки, чтобы работать над этим?


Что вам нужно знать:

  • Sonarqube работает (журналы показывают, что Sonarqube запущен и работает правильно)
  • Nmap localhost показывает:
    • 22 / TCP Open SSH
    • 80/ TCP открыть http
    • 5432 / tcp open postgresql
    • 9000 / TCP открытый cslistener
    • 9001 / tcp открытый тор-орпорт
  • Много примеряет sonar.properties но на данный момент файл очень близок к файлу по умолчанию, за исключением раздела учетных данных БД и записи sonar.web.host с ip-адресом моей виртуальной машины.
  • Нет строк в файле access.log

NB. У меня нет прав администратора на виртуальной машине, поэтому мои возможности на портале 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 выполненный из виртуальной машины работает и дал мне веб-страницу в оболочке, это определенно некоторые настройки 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 который может быть изменен на любой открытый порт.

Другие вопросы по тегам