Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
11.10.3
-
Unknown
-
Description
tmortagne: FYI, the requested issue report. Not sure if it's actually a "Bug" or rather a feature request.
In my setup, I'm using an Apache httpd reverse proxy in front of the locally listening Tomcat 9 in which Xwiki is running.
I manage my users using LDAP, and the Apache httpd already authenticates the users via HTTP Basic Authentication before forwarding the request to Tomcat / Xwiki.
Rather by random chance tmortagne had a glimpse at my logs and noticed that Xwiki was continuously re-authenticating the user session using LDAP, even for REST requests during page loads.
Xwiki always feels somewhat sluggish on my system, and permanently performing LDAP lookups on every request probably does not really help here...
As far as I could see, there was no warning whatsoever in the logs that something was "messed up" with the authentication configuration, leading to such a misbehaviour.
At least a big, fat, easy to find warning would be good here, or maybe just to rely on the user name after the session setup instead of reauthenticating all the time. (As in "Trusted Authentication" mode, if this does not create security holes.)
My reverse proxy setup was as follows:
<VirtualHost *:443> ServerName xwiki.example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/xwiki.example.com_error.log CustomLog ${APACHE_LOG_DIR}/xwiki.example.com_access.log combined SetEnvIf Request_URI "/.well-known/acme-challenge/" is_accessible_target #SetEnvIf Request_URI "/xwiki-websocket/" is_accessible_target <Location "/"> #SetHandler ldap-status #Require host yourdomain.example.com AuthType Basic AuthName "LDAP Protected" AuthBasicProvider ldap AuthLDAPURL "ldaps://127.0.0.1/ou=personen,dc=example,dc=com?uid?one" AuthLDAPBindDN "cn=abc,dc=example,dc=com" AuthLDAPBindPassword "secr3t" <RequireAny> Require valid-user Require env is_accessible_target </RequireAny> </Location> Include /etc/apache2/local_harden_ssl.conf SSLCertificateFile /var/lib/dehydrated/certs/collab.example.com/fullchain.pem SSLCertificateKeyFile /var/lib/dehydrated/certs/collab.example.com/privkey.pem ## Can you use Redirect and Proxypass at the same time ## https://serverfault.com/questions/605931 ## Use “Redirect” and “ProxyPass” ## https://stackoverflow.com/questions/26595592 RedirectMatch permanent ^/$ /xwiki/ ## RedirectMatch seeother ^/xwiki/?$ /xwiki/bin/view/Startseite/ ## Tut nicht, siehe oben ProxyPass "/xwiki/" "ajp://localhost:8009/xwiki/" ## ProxyPassReverse "/xwiki/" "ajp://localhost:8009/xwiki/" ## Workaround fuer JavaScript-Problem in XWiki Diagram-App Header unset X-Content-Type-Options Header set X-Frame-Options "allow-from https://nextcloud.example.com/" </VirtualHost>
I'm now trying to work around this issue by enabling xwiki.authentication.ldap.httpHeader=REMOTE_USER in xwiki.cfg and adding
RequestHeader unset Authorization RequestHeader set REMOTE_USER expr=%{REMOTE_USER}
to my reverse proxy config.
Still waiting for confirmation from tmortagne that this actually helped.
"Placebo estimation" suggests that afterwards Xwiki feels somewhat more responsive already...