Confluence displays java.net.URISyntaxException: Expected authority at index 2: // error
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
When logging into Confluence, the following stacktrace and message display:
2020-11-23 22:28:46,842 ERROR [http-nio-8090-exec-11] [[Standalone].[localhost].[/].[action]] log Servlet.service() for servlet [action] in context with path [] threw exception
java.lang.IllegalArgumentException: java.net.URISyntaxException: Expected authority at index 2: //
at com.github.kristofa.brave.servlet.ServletHttpServerRequest.getUri(ServletHttpServerRequest.java:27)
at com.atlassian.confluence.web.filter.ZipkinTracingFilter$1.lambda$create$0(ZipkinTracingFilter.java:38)
at com.github.kristofa.brave.http.HttpServerRequestAdapter.getSpanName(HttpServerRequestAdapter.java:41)
at com.github.kristofa.brave.ServerRequestInterceptor.handle(ServerRequestInterceptor.java:47)
at com.github.kristofa.brave.servlet.BraveServletFilter.doFilter(BraveServletFilter.java:56)
at com.atlassian.confluence.web.filter.ZipkinTracingFilter.doFilter(ZipkinTracingFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
...
Caused by: java.net.URISyntaxException: Expected authority at index 2: //
at java.base/java.net.URI$Parser.fail(Unknown Source)
at java.base/java.net.URI$Parser.failExpecting(Unknown Source)
at java.base/java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.base/java.net.URI$Parser.parse(Unknown Source)
at java.base/java.net.URI.<init>(Unknown Source)
at com.github.kristofa.brave.servlet.ServletHttpServerRequest.getUri(ServletHttpServerRequest.java:25)
環境
Confluence 7.9.x
NGINX proxy
診断
As displayed in the UI, the Confluence application log contains the stacktrace shown above.
原因
The NGINX proxy has a configuration that contains an extra forward slash - here, after the $host variable:
proxy_redirect http://mycompany.com:8090 $scheme://$host/;
ソリューション
- Stop NGINX.
- Remove the forward slash trailing the $host variable.
- Start NGINX.