Hi,
I'm having a hard time getting XWiki (on CentOS 7 / Tomcat 8.0.33) to work
with our companies new authenticated proxy.
First of all: in general the service user I'm using can successfully
authenticate on the proxy (tested in firefox on my computer and elinks on
the Linux machine). Before we had a proxy server not requiring
authentication and that worked like a charm.
I've already tried several approaches to make the authenticated proxy work:
1. approach via catalina.properties:
http.proxyUser=USERNAME
http.proxyPassword=Pass!W0rd
https.proxyHost=proxy.address.com
https.proxyPort=8080
http.nonProxyHosts=localhost|127.*|[::1]|several other internal domain
exceptions that worked before
restarted tomcat
When accessing the extensions settings page of the XWiki instance
(/bin/admin/XWiki/XWikiPreferences?editor=globaladmin§ion=XWiki.AddExtensions)
nothing can be found.
catalina.out shows
2016-08-08 15:48:16,405 [
http://10.170.64.121/xwiki/bin/admin/XWiki/XWikiPreferences?editor=globalad…]
ERROR aultExtensionRepositoryManager - F
org.xwiki.extension.repository.search.SearchException: Failed to search
extensions based on pattern []
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.search(XWikiExtensionRepository.java:417)
~[xwiki-commons-extension-repository-xwiki-7.4.4.
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.search(XWikiExtensionRepository.java:434)
~[xwiki-commons-extension-repository-xwiki-7.4.4.
at
org.xwiki.extension.repository.internal.DefaultExtensionRepositoryManager.search(DefaultExtensionRepositoryManager.java:381)
[xwiki-commons-extension-api-7.4.4.ja
at
org.xwiki.extension.repository.internal.DefaultExtensionRepositoryManager.search(DefaultExtensionRepositoryManager.java:335)
[xwiki-commons-extension-api-7.4.4.ja
at
org.xwiki.extension.repository.internal.DefaultExtensionRepositoryManager.search(DefaultExtensionRepositoryManager.java:314)
[xwiki-commons-extension-api-7.4.4.ja
at
org.xwiki.extension.script.ExtensionManagerScriptService.search(ExtensionManagerScriptService.java:171)
[xwiki-platform-extension-script-7.4.4.jar:7.4.4]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.8.0_91]
[...]
Caused by: java.io.IOException: Invalid answer [407] from the server when
requesting [
http://extensions.xwiki.org/xwiki/rest/repository/search?start=0&number…
]
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.getRESTResource(XWikiExtensionRepository.java:245)
~[xwiki-commons-extension-repository-xwi
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.getRESTObject(XWikiExtensionRepository.java:295)
~[xwiki-commons-extension-repository-xwiki
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.search(XWikiExtensionRepository.java:415)
~[xwiki-commons-extension-repository-xwiki-7.4.4.
... 183 common frames omitted
407 indicates an authentication issue but the correct data is in
catalina.properties verified by using the same proxy settings in other
applications. I also tried "domain\USERNAME" followed by a tomcat restart
with the same outcome.
2. approach via separate squid instance (without authentication) that
authenticates on the parent proxy:
catalina.properties:
http.proxyHost=localhost
http.proxyPort=3128
https.proxyHost=localhost
https.proxyPort=3128
http.nonProxyHosts=localhost|127.*|[::1]|several other internal domain
exceptions that worked before
squid.conf:
http_access allow all
http_port 3128
coredump_dir /var/spool/squid
cache deny all
dns_v4_first on
cache_peer
proxy.address.com parent 8080 0 no-query no-digest
no-netdb-exchange default login=USERNAME:Pass!W0rd
restarted tomcat
restarted squid
Again verified that it's working by using the squid instance in firefox and
elinks.
Again trying to access the extensions page of the XWiki instance no
extensions can be found.
Squids access.log shows:
127.0.0.1 TCP_MISS_ABORTED/000 0 POST
http://extensions.xwiki.org/xwiki/rest/repository/search - HIER_DIRECT/
104.25.106.17 -
catalina.out shows:
Caused by: java.io.IOException: Failed to request [
http://extensions.xwiki.org/xwiki/rest/repository/search]
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.postRESTResource(XWikiExtensionRepository.java:281)
~[xwiki-commons-extension-repository-xw
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.postRESTObject(XWikiExtensionRepository.java:304)
~[xwiki-commons-extension-repository-xwik
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.search(XWikiExtensionRepository.java:460)
~[xwiki-commons-extension-repository-xwiki-7.4.4.
... 182 common frames omitted
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
~[na:1.8.0_91]
at
java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
~[na:1.8.0_91]
at java.net.SocketInputStream.read(SocketInputStream.java:170)
~[na:1.8.0_91]
at java.net.SocketInputStream.read(SocketInputStream.java:141)
~[na:1.8.0_91]
at
org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
~[httpclient-4.5.1.jar:4.5.1]
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
~[httpclient-4.5.1.jar:4.5.1]
at
org.xwiki.extension.repository.xwiki.internal.XWikiExtensionRepository.postRESTResource(XWikiExtensionRepository.java:278)
~[xwiki-commons-extension-repository-xw
... 184 common frames omitted
Apart from XWiki/Tomcat I don't have any issues using the company proxy
directly or via my own squid instance.
I hope somebody can help me out here.
Regards,
Dennis