On my ISPConfig I have created a new site with LetsEncrypt certificate, HTTP to HTTPS rewrite and the following apache directives:
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:22080/ nocanon
ProxyPassReverse / http://localhost:22080/
ProxyPassReverse / http://files.example.com/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
Everything is working fine, except the file upload. When I upload a file I’m getting “Unknown error”. Did I missed something in my setup? I have not changed something in the seafile configs yet.
The Seafile Docker container already contains nginx. So you have to set it up to run over nginx. So you maybe have a problem with the locations. You should look how to run Apache over nginx.
I’ve got the same problem.
With apache reverse proxy + seafile docker, everything is fine except uploading the files.
Creating and deleting files works well. @mo-mueller Did you solve this issue?
I got a ConnectionError when uploading files on seafile-docker instance. The reason was the URL given in “Admin Settings” → “Settings” → “FILE_SERVER_ROOT” (usually something like “…/seafhttp”) was not configured properly. Here is the Apache VirtualHost file I put on the server / host that fixed this (Sorry I had to obfuscate the URLs):
<VirtualHost *:80>
RewriteEngine on
ServerName seafile dot myserver dot com
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /seafhttp httpcolonslashslashlocalhost:34539
ProxyPassReverse /seafhttp httpcolonslashslashlocalhost:34539
RewriteRule ^/seafhttp - [QSA,L]
ProxyPass / httpcolonslashslashlocalhost:34538/
ProxyPassReverse / httpcolonslashslashlocalhost:34538/
</VirtualHost>
And here is the relevant configuration changes in my docker-compose.yml
So I published the port “8082” of the container to port “34539” on the server. Any request to seafile dot myserver dot com/seafhttp will be forwarded to the port “34539”.
This is the basic configuration, you might want to add HTTPS with letsencrypt / certbot or manually.