2016-06-10 5 views
3

방금 ​​SonarQube 5.3에서 5.6으로 업그레이드가 완료되었습니다. 이전 sonar.properties의 키/값을 복사했습니다. Sonar는 HTTP에서 시작할 수 있지만 이전에 작동하는 HTTPS로만 시작할 때 오류가 발생합니다. HTTPS 주위Sonar 업그레이드 후 HTTPS가 실패 함

내 sonar.properties는 :

sonar.web.port=-1 
sonar.web.context=/sonar 
sonar.web.https.port=9000 
sonar.web.https.keyAlias=<confirmed alias> 
sonar.web.https.keyPass=<confirmed password> 
sonar.web.https.keystoreFile=<confirmed file> 
sonar.web.https.keystoreType=JKS 

위의 설정으로 생성 된 오류 :

sonar.web.port=9000 
sonar.web.context=/sonar 
#sonar.web.https.port=9000 
sonar.web.https.keyAlias=<confirmed alias> 
sonar.web.https.keyPass=<confirmed password> 
sonar.web.https.keystoreFile=<confirmed file> 
sonar.web.https.keystoreType=JKS 
:

2016.06.10 02:05:46 INFO web[o.s.p.ProcessEntryPoint] Starting web 
2016.06.10 02:05:46 WARN web[o.s.p.ProcessEntryPoint] Fail to start web 
java.lang.IllegalStateException: HTTP connectors are disabled 
     at org.sonar.server.app.TomcatConnectors.verify(TomcatConnectors.java:64) ~[sonar-server-5.6.jar:na] 
     at org.sonar.server.app.TomcatConnectors.configure(TomcatConnectors.java:54) ~[sonar-server-5.6.jar:na] 
     at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:59) ~[sonar-server-5.6.jar:na] 
     at org.sonar.server.app.WebServer.start(WebServer.java:42) [sonar-server-5.6.jar:na] 
     at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:102) ~[sonar-process-5.6.jar:na] 
     at org.sonar.server.app.WebServer.main(WebServer.java:68) [sonar-server-5.6.jar:na] 

시험으로, 내가 다시 단지 HTTP로 전환

해당 로그의 정보 :

2016.06.10 02:19:11 INFO web[o.s.s.a.TomcatAccessLog] Web server is started 
2016.06.10 02:19:11 INFO web[o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000 
2016.06.10 02:19:11 INFO web[o.a.c.h.Http11NioProcessor] Error parsing HTTP request header 
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. 
java.lang.IllegalArgumentException: Invalid character (CR or LF) found in method name 
     at org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:228) ~[tomcat-embed-core-8.0.30.jar:8.0.30] 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1010) ~[tomcat-embed-core-8.0.30.jar:8.0.30] 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) [tomcat-embed-core-8.0.30.jar:8.0.30] 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) [tomcat-embed-core-8.0.30.jar:8.0.30] 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) [tomcat-embed-core-8.0.30.jar:8.0.30] 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_71] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_71] 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.0.30.jar:8.0.30] 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_71] 

HTTPS가 작동하지 않는 이유가 무엇입니까?

답변

5

버전 5.5에서는 HTTPS 지원이 제거되었습니다. 속성 sonar.web.https. *는 이제 conf/sonar.properties에 없습니다. http://docs.sonarqube.org/display/SONAR/Release+5.5+Upgrade+Noteshttps://jira.sonarsource.com/browse/SONAR-7411을 참조하십시오. 보안상의 이유로 리버스 프록시가 대신 사용되어야합니다.

+0

나는 장점을 알고있다. 그러나 Sonar에서 HTTPS를 구성하는 것은 대부분의 경우를 무효로하는 선택 사항 일뿐입니다. 역 프록시와 응용 프로그램 서버 사이의 연결을 보호하려면 어떻게해야합니까? – DuckieHo

+1

@DuckieHoogle 웹 서버와 sonarqube가 같은 서버에 있으면 localhost 연결을 사용하여 필요하지 않습니다. SonarQube가 다른 서버에 있고 두 서버 간의 링크를 신뢰할 수 없다면 SonarQube 앞에 또 다른 웹 서버를 추가하십시오.이 설정을 사용하면 액세스 할 수있는 IP 목록 만 허용 할 수도 있습니다. –

+0

@EricHartmann 추가 통찰력을위한 감사합니다. 함수의 분리는 의미가 있지만이 영역의 많은 응용 프로그램은 기본적으로 HTTPS를 지원합니다. 걱정할 필요가 없습니다. 구성 할 부분이 있습니다. – DuckieHo

관련 문제