seafile-docs

Configure Syncing via HTTP Protocol

Starting from version 4.0.0, Seafile supports file syncing via HTTP protocol. To use this feature, you must configure Nginx or Apache on the server. (If you have already configured Nginx/Apache in version 3.x and your configuration matches the following, you don't need to do further modifications to enable HTTP/HTTPS syncing.)

Nginx

Follow this guide to configure Nginx without HTTPS, or this guide to configure Nginx with HTTPS.

The section in Nginx config file related to HTTP sync is

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
    }

there are two things to note:

  • You must use the path "/seafhttp" for http syncing. This is hard coded in the client.
  • You should add the "client_max_body_size" configuration. The value should be set to 0 (means no limit) or 100M (suffice for most cases).

Apache

Follow this guide to configure Apache without HTTPS, or this guide to configure Nginx with HTTPS.

The section in Apache config file related to HTTP sync is

    #
    # seafile fileserver
    #
    ProxyPass /seafhttp http://127.0.0.1:8082
    ProxyPassReverse /seafhttp http://127.0.0.1:8082
    RewriteRule ^/seafhttp - [QSA,L]

Note that you must use the path "/seafhttp" for http syncing. This is hard coded in the client.