Summary
Problem
Im unable to upload files to my self-hosted Seafile server. I
ve deployed it behind a reverse Apache2 proxy in combination with Lets-encrypt certificates. No other system has issues being deployed behind this set-up.
Reproduction and error
When I try to upload a file the web-console throws and error “Not found”. The sync clients seem to throw a server-error. On the serverside the file seahub_django_request.log gives me a django.request error 170 not-found. /seafhttp/upload-aj/. My Apache log on the reverse proxy seems to be clean or errors related to this.
Trying to connect to the server within the netwerk on it’s local addres shows me that I can upload files and the error doesn’t exist in that setup.
Django Error
2019-03-17 20:37:19,669 [WARNING] django.request:170 get_response Not Found: /seafile/seafhttp
2019-03-17 20:39:54,210 [WARNING] django.request:170 get_response Not Found: /seafhttp
2019-03-17 20:43:31,755 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-aj/
2019-03-17 20:49:14,011 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-aj/
2019-03-17 21:05:48,324 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-aj/
2019-03-17 22:57:15,724 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-api/
2019-03-17 22:57:15,797 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-api/
2019-03-17 22:57:15,810 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-api/
2019-03-17 22:57:15,814 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-api/
2019-03-17 22:57:16,142 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-api/
2019-03-18 07:07:26,010 [WARNING] django.request:170 get_response Not Found: /seafhttp/upload-aj/
ccnet.conf
[General]
USER_NAME =
ID = 12381b0837e1f7f79e0f8d0152e31c81c97a7b7e
NAME =
SERVICE_URL = https: //subdomain. domain. nl
[Client]
PORT = 13419
Seahub_settings.py
SECRET_KEY = “”
CACHES = {
‘default’: {
‘BACKEND’: ‘django_pylibmc.memcached.PyLibMCCache’,
‘LOCATION’: ‘127.0.0.1 :11211’,
},
‘locmem’: {
‘BACKEND’: ‘django.core.cache.backends.locmem.LocMemCache’,
},
}
COMPRESS_CACHE_BACKEND = ‘locmem’
FILE_SERVER_ROOT = ‘https: //subdomain. domain. nl/seafhttp’
Seafile.conf
[fileserver]
port=8082
Apache Virtual Host
ProxyPass / http: // 192.168.1.58:8000/
ProxyPassReverse / http :// 192.168.1.58:8000/
<Location />
Order allow,deny
Allow from all
</Location>
COMMENT seafile fileserver
ProxyPass /seafhttp http :// 192.168.1.58 :8082/
ProxyPassReverse /seafhttp http :// 192.168.1.58 :8082/
COMMENT seahub
SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape
SetEnvIf Authorization “(.*)” HTTP_AUTHORIZATION=$1
ProxyPreserveHost On
ProxyPass /seafile fcgi: // 192.168.1.58: 8000/
RewriteEngine on
COMMENT Some rewrite rules in this file were disabled on your HTTPS site,
COMMENT because they have the potential to create redirection loops.
COMMENT RewriteCond %{SERVER_NAME} =subdomain .domain .nl
COMMENT RewriteRule ^ https: // %{SERVER_NAME} %{REQUEST_URI} [END,NE,R=permanent]
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /path/to/certificate
SSLCertificateKeyFile /path/to/certificate