Can't view encrypted libs in web browser with 6.0.4

Hi there,

I have a weird behaviour after upgrading from 5.1.3 to 6.0.4. Everything works so far, except that I am not able to view password protected libs in the web browser. Public libs work perfectly.

When clicking on a password protected lib in my browser I see a white area where the lib’s content (folders/files) should be shown and the following in seahub_django_request.log:

2016-10-16 20:58:08,244 [WARNING] django.request:170 get_response Not Found: /ajax/lib/1de75c9a-fc6e-45ea-a396-b/errors/403.html

In Apache2’s access.log I see the following:

79.196.201.143 - - [16/Oct/2016:20:58:08 +0200] "GET /ajax/lib/1de75c9a-fc6e-45ea-a396-b0803d72b739/dir/?p=%2F&thumbnail_size=45&_=1476641543037 HTTP/1.1" 404 4430 "https://www.xxxxx.xx/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"

The windows desktop client works without problems. With it I am able to browse the password protected libs in the seafile file explorer view.

I have already cleared my browser’s cache and also /tmp/seahub_cache on the server, without any effect. The problem still persists.

Does anyone have an idea what the problem could be?

Can you see any error messages in server’s seafile.log?

Thanks for the fast reply. I guess I’ve found the issue. It’s not related to seafile 6.0.4 or Seafile at all, but rather to the Apache2 configuration I used and which got slightly updated by an update of my administrator panel software, which I installed alongside the Seafile 6.0.4 update.

So, the root cause was the Apache2 directive “ProxyErrorOverride”, which was globally set to “On” for all virtual hosts. This was introduced by the admin panel update and resulted in the error document 403.html searched on the proxied hosts, i.e. /ajax/lib/1de75c9a-fc6e-45ea-a396-b/errors/403.html instead of /errors/403.html. The error document itself was defined by ErrorDocument 403 /errors/403.html for all virtual hosts.

Finally, setting “ProxyErrorOverride” to “Off” resolved the issue.

1 Like