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