Configure Syncing via HTTP Protocol

    Client version >= 4.2 use http syncing protocol exclusively, the cases are

    • If you’re not using https, you don’t have to configure Nginx or Apache to use http sync. The client can talk directly with the file server on port 8082.
    • If you’re using https, you have to configure Nginx or Apahce.

    If you’are using clients version < 4.2,

    • If you want to use http(s) sync, you have to configure Nginx or Apache.

    Servers >= 4.0 are compatible with all syncing protocols, any version of client should work with the server.

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

    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).

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

    The section in Apache config file related to HTTP sync is

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

    The client loads trusted CA list from the system trusted CA store on start. It then combines those CA list with the user accepted certificates. The combined list is then used for certificate verification.

    If you follow certificate generation instruction in this guide to generate your self-signed certificate, the syncing should work after confirmation.

    There may be cases when you can’t establish https connection to the server. You can try two work-arounds:

    1. Add your self-signed certificate to system trusted CA store.
    2. Open the client “settings” window, in “advanced” tab, check “Do not verifiy server certificate in HTTPS sync”.

    Older clients fall back to non-http sync protocol if http sync fails. So you may get the false sense that the old client works with http sync. But actually it doesn’t. Client 4.2 use http sync exclusively, so it doesn’t sync any more. You have to correctly configure the server for http sync.

    Choosing Ciphers on Nginx/Apache

    You may fine tune the list to meet your needs.