Home > General, Hacking, IIS > Enabling HTTPS for Seafile (Windows)

Enabling HTTPS for Seafile (Windows)

EDIT: Video tutorial can be found at http://www.youtube.com/watch?v=HRNCpR_mSSs&feature=youtu.be

While there has been documentation on how to enable HTTPS for seafile in *nix environment. There is no documentation for doing this on windows.   Looking at the nginx implementation, it is essentially doing a reverse proxy. This is something that IIS+URL Rewrite can easily achieve!   Before we proceed, take a look and understand the reverse proxy requirements found at https://github.com/haiwen/seafile/wiki/Enable-Https-on-Seafile-web-with-nginx   I will not go into steps on how to generate your own SSL cert, but rather focus on how to use IIS to reverse proxy the necessary ports.   Requirements

  1. Standard implementation of seafile ONLY
    1. ie seafile listens on the following port: 8000, 8082, 10001, 12001
  2. HTTP requests to port 80 will be redirected to HTTPS calls on port 443
  3. HTTPS requests on port 443 will be treated as follows
    1. if it starts with seafhttp, send it to seafile port 8082
    2. otherwise send it to seafile port 8000

Step by Step Guide

  1. Install seafile on the server
  2. Install IIS with default options
  3. Run IIS Manager image
  4. Install Web Platform Installer (WebPI)
  5. Inside WebPI, install URLRewrite
  6. Create 2 websites, pointing to separate physical folders. Ensure the https website is associated with a valid SSL certificate image
  7. Edit the web.config for the HTTP site

    <?xml version=”1.0″ encoding=”UTF-8″?> <configuration> <system.webServer> <rewrite> <rules> <rule name=”Redirect to HTTPS” stopProcessing=”true”> <match url=”(.*)” /> <action type=”Redirect” url=”https://{HTTP_HOST}/{R:1}” /> </rule> </rules> </rewrite> </system.webServer> </configuration>

  8. Edit the web.config for the HTTPS site

    <configuration> <system.webServer> <rewrite> <rules> <rule name=”seafhttp” stopProcessing=”true”> <match url=”seafhttp/(.*)” /> <action type=”Rewrite” url=”http://127.0.0.1:8082/{R:1}” appendQueryString=”false” logRewrittenUrl=”true” /> </rule> <rule name=”Reverse Proxy” patternSyntax=”ECMAScript” stopProcessing=”true”> <match url=”(.*)” /> <!– Redirect all requests to non-HTTPS site. –> <action type=”Rewrite” url=”http://localhost:8000/{R:1}” logRewrittenUrl=”true” /> </rule> </rules> </rewrite> </system.webServer> </configuration>

  9. Enjoy a secure version of seafile 🙂
Categories: General, Hacking, IIS
  1. Nate
    May 9, 2014 at 6:04 pm

    Great work! I got the web site working well in safari and firefox. I can upload and download and share files all day long. However, once I use the iOS Seafile Pro App, I get a download failed error on my device.

    The strange thing is I can upload photos just fine from the app on the iPhone.

    The second strange thing is that I can download files that do not have spaces in the filenames perfectly on the iPhone.

    I toggled the HTTP_SERVER_ROOT = ‘https://www.yourdomain.com/seafhttp’ in the
    seahub_settings.py.
    If I remove that configuration line the iPhone app works perfectly even with downloading filenames with spaces. But the download link on the web browser will not work properly for downloading the files after HTTP_SERVER_ROOT is removed from the config.

    Do you know where I could start investigating this issue?
    Also, I just upgraded to seafile server version 3.0 from 2.1

    Please advise.

    Thanks,
    Nate

  2. Nate
    May 9, 2014 at 6:18 pm

    Great Work! Everything seems to be working well in safari and firefox with my SSL cert. I can upload, download, and share links for files on my private server quite easily.

    However once I enabled https, the iPhone iOS app stopped downloading files that contained spaces within the filename.

    I can upload photos with space characters in the filename, but I can no longer download them. This is not a problem using Firefox or Safari.

    One thing I noticed is that if you remove this line:
    HTTP_SERVER_ROOT = ‘https://www.yourdomain.com/seafhttp’
    from the seahub_settings.py file then the iPhone starts working 100% again. Then the website (firefox/safari), they stop downloading files properly completely, regardless of whether or not the filenames contained spaces.

    On the iPhone, I can upload all day and download files without space characters in the file names.

    This seems like weird behavior.

    Do you have any ideas?
    Also, I just recently upgraded to seafile server 3.0.x.

    Thanks,
    Nate

    • May 10, 2014 at 5:21 am

      Could it be a version issue for thr ios app? Try deleting the app and reinstalling from the App Store again

      • May 10, 2014 at 5:56 am

        I tried reinstalling the app on the iPhone, no luck.

        Still not able to download file mars with spaces. The desktop client and we page works perfectly though.

        ????

      • May 10, 2014 at 5:57 am

        I reloaded the iOS app and still no go. Filemames with spaces fail everytime on download in the app.

      • Nate
        May 10, 2014 at 10:45 am

        I tried on multiple devices and reinstalled the app same problem with spaces in the file names on downloading. HTTP_SERVER_ROOT = ‘https://www.yourdomain.com/seafhttp’

        If I remove this line the iOS app works, but website wont download.

        any other ideas?

      • May 10, 2014 at 10:55 am

        Hmm the seafhttp is based on the rules from ngnix, I think it could be a configuration issue, mind posting ur web.config and iis settings to take a look?

      • Nate
        May 10, 2014 at 11:08 am

        Remember: Everything Works Perfect 100% in a web browser with https protocol. I love it.

        iOS: Everything Work Perfect, except downloading filenames with spaces like “MY IRS TAXES.PDF” will say download failed. However “MY-IRS-TAXES.PDF” will download just fine.

        I am on windows server with IIS.

        Here is my https site web.config:

      • May 10, 2014 at 6:34 pm

        My ios works fine. But android does have problem with spaces. Will check n see

      • Nate
        May 10, 2014 at 11:11 am

        (?xml version=”1.0″ encoding=”UTF-8″?)
        (configuration)
        (system.webServer)
        (defaultDocument)
        (files)
        (clear /)
        (add value=”index.html” /)
        (add value=”Default.htm” /)
        (add value=”Default.asp” /)
        (add value=”index.htm” /)
        (add value=”iisstart.htm” /)
        (add value=”default.aspx” /)
        (/files)
        (/defaultDocument)
        (directoryBrowse enabled=”true” /)
        (rewrite)
        (rewriteMaps)
        (rewriteMap name=”http://127.0.0.1:8082/{R:1}” /)
        (/rewriteMaps)
        (rules)
        (clear /)
        (rule name=”seafileHTTP” patternSyntax=”ECMAScript” stopProcessing=”true”)
        (match url=”seafhttp/(.*)” /)
        (conditions logicalGrouping=”MatchAll” trackAllCaptures=”false” /)
        (action type=”Rewrite” url=”http://127.0.0.1:8082/{R:1}” appendQueryString=”false” logRewrittenUrl=”true” /)
        (/rule)
        (rule name=”Reverse Proxy” stopProcessing=”true”)
        (match url=”(.*)” /)
        (conditions logicalGrouping=”MatchAll” trackAllCaptures=”false” /)
        (action type=”Rewrite” url=”http://127.0.0.1:8000/{R:1}” appendQueryString=”true” logRewrittenUrl=”true” /)
        (/rule)
        (/rules)
        (outboundRules)
        (preConditions)
        (preCondition name=”ResponseIsHtml1″)
        (add input=”{RESPONSE_CONTENT_TYPE}” pattern=”^text/html” /)
        (/preCondition)
        (/preConditions)
        (/outboundRules)
        (/rewrite)
        (/system.webServer)
        (/configuration)

      • May 10, 2014 at 12:04 pm

        Wait, u do need to update the seafile settings.py and cc conf based on the link, else it still won’t work properly.

        What i.m guessing is the web is downloading using port 8082 but your ios is not able to, or vice versa..

      • Nate
        May 10, 2014 at 12:30 pm

        My ccnet.conf:

        [General]
        USER_NAME = my-seafile
        ID = 06498bc4c5e43027f164a6f0b3c17a1dd6547de1
        NAME = ABC-Cloud
        SERVICE_URL = https://seafile.abc-llc.net/

        [Network]
        PORT = 10001

        [Client]
        PORT = 13418

        My sea hub_settings.py:
        SECRET_KEY = ‘wfiewfjwo…’
        HTTP_SERVER_ROOT = ‘https://127.0.0.1/seafhttp’

        What do I need to change??

      • Nate
        May 10, 2014 at 12:33 pm

        And My seafile.conf:

        [database]
        type = sqlite

        [network]
        port = 12001

        [httpserver]
        port = 8082
        https = false

        [seahub]
        port = 8000
        fastcgi = false

        What do I need to change here?

      • Nate
        May 10, 2014 at 1:11 pm

        Is it required to run fastcgi with IIS? for https to work on iPhones

      • May 10, 2014 at 6:32 pm

        No need..

      • Nate
        May 10, 2014 at 2:10 pm

        How do you do this Seahub using FastCGI on IIS 7.0?

      • May 10, 2014 at 2:50 pm

        One Last thing, sorry to keep adding to this.

        If I have a URL Rewrite Rule to move all URLs that contain /seafttp, to go to localhost:8082

        Then if I update the sea hub settings.py with HTTP_Server_Root = https://mydomain/seafhttp wouldn’t all entries go to 8082.

        Which means iPhone iOS app is using 8000 only so it wouldn’t ever make a request over port 8000 successfully? Am I mistaken?

      • May 11, 2014 at 8:36 am

        Yes that is the idea. Ios app should be using seafhttp, nothing should communicate directly on 8000 or 8082. I think it is a python bug for v27 http://bugs.python.org/issue918368

      • May 11, 2014 at 10:21 am

        Which version of Python do you recommend?

      • May 11, 2014 at 11:15 am

        I upgraded to Python 2.7.6 64bit version. I will test it out.

      • May 11, 2014 at 11:52 am

        I did the upgrade to 2.7.6 the website still works 100% but the iPhone app still doesn’t download files with spaces.

        I can upload files with spaces still.
        I can download files without spaces still.

        But downloading files with spaces in the filename still fail!!

      • May 11, 2014 at 12:17 pm

        ### A successful photo download on iOS ###
        ### Events from XCODE. Running iPhone Simulator ###
        ### Each time is separate event ###
        ### This was a success on the iOS App ###

        ### PREVIEWING THE FILE ####
        2014-05-10 23:10:05.479 SeafilePro[48698:60b] #194 -[SeafDetailViewController setPreViewItem:master:]:preview win7.jpg

        ### STARTING THE FILE DOWNLOAD EVENT ####
        2014-05-10 23:10:05.481 SeafilePro[48698:60b] #152 -[SeafDetailViewController refreshView]:DownLoading file win7.jpg

        ### DOWNLOADING BLOCKS FROM THIS URL USING RESTFUL API ###
        2014-05-10 23:10:05.998 SeafilePro[48698:60b] #39 __76+[SeafJSONRequestOperation JSONRequestOperationWithRequest:success:failure:]_block_invoke:200, https://seafile.gcg-llc.net/api2/repos/8ec2b087-6539-4755-acf4-0f0065c6a025/file/?p=/win7.jpg

        ### DOWNLOAD COMPLETED SUCCESSFULLY ###
        2014-05-10 23:10:06.074 SeafilePro[48698:60b] #169 __26-[SeafFile downloadByFile]_block_invoke_2:Successfully downloaded file

        ### PREVIEW THE FILE ON THE APP SCREEN ###
        2014-05-10 23:10:06.077 SeafilePro[48698:60b] #164 -[SeafDetailViewController refreshView]:Preview file win7.jpg mime=image/jpeg success

      • May 11, 2014 at 12:19 pm

        ### A FAILED photo download on iOS ###
        ### Events from XCODE. Running iPhone Simulator ###
        ### Each time is separate event ###
        ### This was a FAILURE on the iOS App ###

        ### PREVIEWING THE FILE ON APP ####
        2014-05-10 23:06:24.782 SeafilePro[48698:60b] #194 -[SeafDetailViewController setPreViewItem:master:]:preview kims line.pdf

        ### STARTING THE DOWNLOAD EVENT ###
        2014-05-10 23:06:24.783 SeafilePro[48698:60b] #152 -[SeafDetailViewController refreshView]:DownLoading file kims line.pdf

        ### DOWNLOADING FILE AT URL = FAILED EVENT
        2014-05-10 23:06:25.274 SeafilePro[48698:60b] #39 __76+[SeafJSONRequestOperation JSONRequestOperationWithRequest:success:failure:]_block_invoke:200, https://seafile.gcg-llc.net/api2/repos/28e2ae81-3575-4f34-aeb0-f3b603f16f2a/file/?p=/kims%20line.pdf

      • May 11, 2014 at 12:21 pm

        ** revised ***
        ### A FAILED photo download on iOS ###
        ### Events from XCODE. Running iPhone Simulator ###
        ### Each time is separate event ###
        ### This was a FAILURE on the iOS App ###

        ### PREVIEWING THE FILE ON APP ####
        2014-05-10 23:06:24.782 SeafilePro[48698:60b] #194 -[SeafDetailViewController setPreViewItem:master:]:preview kims line.pdf

        ### STARTING THE DOWNLOAD EVENT ###
        2014-05-10 23:06:24.783 SeafilePro[48698:60b] #152 -[SeafDetailViewController refreshView]:DownLoading file kims line.pdf

        ### DOWNLOADING FILE AT URL = FAILED EVENT
        2014-05-10 23:06:25.274 SeafilePro[48698:60b] #39 __76+[SeafJSONRequestOperation JSONRequestOperationWithRequest:success:failure:]_block_invoke:200, https://seafile.gcg-llc.net/api2/repos/28e2ae81-3575-4f34-aeb0-f3b603f16f2a/file/?p=/kims%20line.pdf

        ### EVENT FAILURE NOT FOUND 404 ERROR ###
        2014-05-10 23:06:25.294 SeafilePro[48698:60b] #173 __26-[SeafFile downloadByFile]_block_invoke153:error=Request failed: not found (404)

        ### PREVIEW EVENT SHOWS NOHTING ###
        2014-05-10 23:06:25.294 SeafilePro[48698:60b] #194 -[SeafDetailViewController setPreViewItem:master:]:preview (null)

      • May 11, 2014 at 2:56 pm

        Rest Api Works when I run Curl Commands for the specific photo, I was trying to get from the iOS device.

        No issues with Restful API and Curl Commands for all photo and document downloads on https

        Still stuck on this one. I am working on changing my SSL Cert, see if that does anything. Not sure though.

      • May 12, 2014 at 2:11 pm

        I was looking at the https on NIGX config on GitHub. What does this line mean:

        location /media {
        root /home/user/haiwen/seafile-server-latest/seahub;
        }

      • May 12, 2014 at 2:37 pm

        One last thing for today!

        I tried to VPN with my iPhone and use the iOS Seafile Pro App, and point straight to the local ip 192.168.1.1:8000 (no url write here) and it still didn’t work. Uploading works, and filenames without spaces work. But if I remove the HTTP_SERVER_ROOT, filenames with spaces work, but the website doesn’t on HTTPS.

        I think there my need to be another url rewrite response for all /api2 requests.

        I am working on getting wireshark inspecting data on https so I can look a the URL sent from the iPhone to the server, and then the URL returned from the server. I believe there is something happening on the rewrite.

        It shouldn’t be a python, iOS, sea file issue because everything works without HTTPS perfectly, but once you add in the HTTP_SERVER_ROOT we get problems, I don’t think the iPhone likes it at all.

        Thanks,
        Nate

      • May 12, 2014 at 5:23 pm

        ### Viewing URL Rewrite Log in IIS 7.0 ###
        #iPhone Sends this request via the API2 URL#
        #This request includes spaces in the filename %20#
        200, GET, /api2/repos/28e2ae81-3575-4f34-aeb0-f3b603f16f2a/file/, p=/Config%20WS%20IDF%2013.txt,

        #Then this request is made in the same millisecond, and returns not found 404#
        404, GET, /seafhttp/files/c85594df/Config%20WS%20IDF%2013.txt,

        Why does these spaces cause this issue? It doesn’t on the website interface.
        Just when using the iOS App and the API2.

        I looked in the API2 Python code and couldn’t find the problem.
        I do not know enough about python, but the again it api2 works fine when
        you don’t set the http_server_root to https:/…

  3. JimmyZ
    May 10, 2014 at 3:01 am

    Thanks for this, but I can’t get it to work. Below I attached my web.config which should be identical, but I get a 404 error. Can’t figure out what I’m missing?

    HTTP (web.config)

    HTTPS (web.config)

    (Error trying to access seafile directly from the server using https://localhost)
    HTTP Error 404.4 – Not Found

    The resource you are looking for does not have a handler associated with it.

    Most likely causes:
    •The file extension for the requested URL does not have a handler configured to process the request on the Web server.

    Things you can try:
    •If the file extension does not have a handler associated with it, add a handler mapping for the extension.
    •Verify that the handler associated with the file extension is properly installed and configured.
    •Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, click here.

    Detailed Error Information:

    Module
    IIS Web Core

    Notification
    MapRequestHandler

    Handler
    StaticFile

    Error Code
    0x8007007b

    Requested URL
    https://localhost:443/

    Physical Path
    D:\IIS\Https

    Logon Method
    Anonymous

    Logon User
    Anonymous

    More Information:
    This error means that the Web server does not recognize the file extension of the requested resource. A module handler is not configured on the Web server for this extension. If the file extension being denied is required by the Web server, add the appropriate handler for the file extension.
    View more information »

    • May 10, 2014 at 5:24 am

      Him you probably got it configured wrongly, the URL rewriting rules are not being applied properly to the https site.

      Can I confirm that you have a SSL cert attached to the https site as well?

    • JimmyZ
      May 10, 2014 at 5:45 am

      Got it. Didn’t realize I was missing the Application Request Routing Cache. Once enabled, I got it to work.

      • May 10, 2014 at 10:53 am

        I don think you need arr for this, but hey it works so great for u! I had arr installed for another purpose so..

  4. Mike B
    June 13, 2014 at 10:01 pm

    Anyone have an idea as to why I cannot get this to work I get a error on the page when I load localhost

    error from iis 500.19
    complaining about line 5 of the code

    Please if anyone has an idea. I really need to get this running on Https

  5. Mike B
    June 13, 2014 at 11:21 pm

    ( rule name=”seafhttp” stopProcessing=”true” ) Line 5 ^

    • June 19, 2014 at 12:25 am

      Its probably the quotation marks, try deleting them and putting the proper ones..

  6. Mike L
    July 19, 2014 at 11:49 am

    Issues with running https and using mobile apps. I cannot download files with spaces.

    Have you guys come up with a solution for this?

  7. October 10, 2014 at 1:20 pm

    Your tutorial helped greatly. Is there any way to enable webdav? I tried modding my own rule but had no luck.

  8. BoulderSnowman
    March 2, 2015 at 6:50 am

    This is a great post. Many thanks to all the contributors! Has anybody tried to get the https syncing supported in Seafile v.4.0.6 server working using IIS? The documentation notes the redirects for NGINX and Apache, but it seems as if it should work with IIS as well. Going to https://server.company.com/seafhttp/ display the message “If you see this page, Seafile HTTP syncing component works” … which is a good sign but trying to sync with the clients ends up with a “bad request” so I’m wondering if there is something else needed for the IIS reverse proxy config or something else.

    • March 3, 2015 at 5:25 am

      I know that Seafile v4 has moved everything to HTTPS rather than having 2 separate channels for transmission.

      With Seafile v3, https is used to obtain the library information and then a SSH like channel is used to download the file
      With Seafile v4, https is used for both events. I’m not really sure that this is a good thing, but seeing that the key is already transmitted via https, any MITM attack would already reveal the key which will make downloading the file an easy enough task.

      Have yet to move my production into V4 due to all these changes but i plan to do so, and when i do, there will possibly be another video or at the very least a step by step guide on how to do it.

      In the meantime, are you able to skip IIS and see if NGIX or Apache works properly?

      • BoulderSnowman
        March 3, 2015 at 5:41 am

        I have not tried it with NGINX or Apache yet as I normally stick with IIS but I likely will give it a shot to see how it goes. The reverse proxy configuration instructions noted for Apache and NGINX seem to be the same as before so it seems like it should work with the IIS reverse proxy from before (which works great using URL Rewrite and ARR as you demonstrated!) but there may be something else I am just missing.

      • March 3, 2015 at 7:20 am

        hmm how about the raw ports, do they work? I believe http syncing runs thru either 8000 or 8082, CCNet should not be required anymore

        if that works, then it should just be a simple configuration of IIS to function as reverse proxy and some modification of the seafile config files to point to the “right” url

      • G
        March 9, 2015 at 6:06 pm

        If port 10001 and 12001 forwarded as well it works, but if only 443 is opened we got errors like this:
        [03/06/15 10:30:04] clone-mgr.c(744): Transition clone state for 888daae4 from [init] to [connect].
        [03/06/15 10:30:06] clone-mgr.c(744): Transition clone state for 888daae4 from [connect] to [fetch].
        [03/06/15 10:30:06] http-tx-mgr.c(3027): Download with HTTP sync protocol version 1.
        [03/06/15 10:30:06] http-tx-mgr.c(632): Transfer repo ‘888daae4’: (‘normal’, ‘init’) –> (‘normal’, ‘check’)
        [03/06/15 10:30:06] http-tx-mgr.c(1306): Bad response code for GET https://myserver.com:8443/seafhttp/repo/888daae4-e411-41b3-b549-04120ea9c4bf/permission-check/?op=download: 400.
        [03/06/15 10:30:06] http-tx-mgr.c(3033): Download permission denied for repo 888daae4 on server https://myserver.com:8443.
        [03/06/15 10:30:06] http-tx-mgr.c(632): Transfer repo ‘888daae4’: (‘normal’, ‘check’) –> (‘error’, ‘finished’)
        [03/06/15 10:30:06] clone-mgr.c(762): Transition clone state for 888daae4 from [fetch] to [error]: fetch.

  9. Kevin
    March 20, 2015 at 12:10 pm

    This was a great tutorial, this along with the at sometimes difficult to read documentation have gotten my personal cloud up and running and I’m very pleased with the results thus far. I know it’s been some time since his issue was posted but it might help to know that the filenames with spaces problem on ios and android clients can be resolved by enabling double escaping in the request filtering feature of the IIS manager.

    Open up the IIS manager
    Click on the site
    Click on Request Filtering
    On the right hand side click Edit Feature Settings
    Make sure ‘Allow double escaping’ is checked

    Hope this helps someone else as well. Finding the solution was a bit more work than finding this site.

    • Andreas
      April 19, 2016 at 3:36 am

      THANKS A LOT! This worked perfectly for me! Now I can open all documents in the iOS app!

  10. Dwnzel
    March 29, 2015 at 5:37 am

    Error: [Exception… “The URI is malformed” nsresult: “0x804b000a (NS_ERROR_MALFORMED_URI)” location: “JS frame :: https://xxx.xxx.xxx.xxx/media/js/jq.min.js?t=1382087880 :: .send :: line 4″ data: no] any idea?

    • Dwnzel
      March 29, 2015 at 7:03 am

      Sorry, my error, evrething work 🙂 THX!

  11. stas
    March 31, 2015 at 6:19 pm

    добрый день.
    Делал все по видео. Все работает кроме отправки файлов с клиента андроид.
    Есть ли решение данной проблеммы?
    Спасибо

    • stas
      March 31, 2015 at 6:19 pm

      good afternoon.
      Did everything on video. Everything works except for sending files to the client for android.
      Is there a solution to this problemmy?
      Thank U

      • April 1, 2015 at 9:41 pm

        hmm what error does seafile report?

  12. stas
    April 3, 2015 at 6:21 pm

    The client computer is running but not on Android. Android-write error Failed.I can throw config my. If needed. Help me. Thank U.

    • April 5, 2015 at 9:29 pm

      hmm send your config and see. i assume the seafile client works fine?

  13. stas
    April 6, 2015 at 4:25 pm

    Yes client computer works fine.

    ccnet.
    [04/06/15 11:05:51] ../common/session.c(395): Listen on 127.0.0.1 13418
    [04/06/15 11:05:51] ../common/session.c(267): Update pubinfo file
    [04/06/15 11:05:51] ../common/connect-mgr.c(515): Opened port 10001 to listen for incoming peer connections
    [04/06/15 00:05:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:05:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:05:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:05:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:05:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:05:54] ../common/connect-mgr.c(266): Unknown peer 9267f9f2f7b44f8efe487bd59eb7382d0253050e connecting
    [04/06/15 00:05:58] ../common/session.c(375): Accepted a local client
    [04/06/15 00:06:39] ../common/connect-mgr.c(266): Unknown peer 2dbfca96864e8346451571672418be68043b868e connecting
    [04/06/15 00:06:40] ../common/session.c(375): Accepted a local client
    [04/06/15 00:06:40] ../common/session.c(375): Accepted a local client
    [04/06/15 00:06:46] ../common/session.c(375): Accepted a local client
    [04/06/15 00:06:46] ../common/session.c(375): Accepted a local client
    [04/06/15 00:09:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:09:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:09:52] ../common/session.c(375): Accepted a local client
    [04/06/15 00:09:52] ../common/peer.c(943): Local peer down
    [04/06/15 00:09:52] ../common/processor.c(218): [Proc] Shutdown processor service-proxy-proc(-1002) for bad update: 515 peer down
    [04/06/15 00:09:52] ../common/processor.c(218): [Proc] Shutdown processor service-stub-proc(1007) for bad update: 515 peer down
    [04/06/15 00:09:52] ../common/processor.c(218): [Proc] Shutdown processor threaded-rpcserver-proc(-1001) for bad update: 515 peer down
    [04/06/15 00:14:28] ../common/session.c(375): Accepted a local client

    Saefile.

    [04/06/15 00:05:52] ../common/mq-mgr.c(60): [mq client] mq cilent is started
    [04/06/15 00:05:52] ../common/mq-mgr.c(106): [mq mgr] publish to hearbeat mq: seaf_server.heartbeat
    [04/06/15 00:05:52] listen-mgr.c(115): listen on port 12001 for block tranfer
    [04/06/15 00:09:52] ccnet_processor_handle_update: [Proc] Shutdown processor threaded-rpcserver-proc(-1007) for bad update: 515 peer down

    saefserv

    [04/06/15 11:05:51] created “python.exe -V”, pid 1412
    [04/06/15 11:05:51] seafserv/seafserv.c(62): starting ccnet-server …
    [04/06/15 11:05:51] created “ccnet-server.exe -c “C:/seafile-server\ccnet” -f “C:/seafile-server\logs\ccnet.log””, pid 1488
    [04/06/15 11:05:51] seafserv/seafserv.c(456): ccnet server started
    [04/06/15 00:05:52] seafserv/seafserv.c(324): trying to connect to ccnet-sever…
    [04/06/15 00:05:52] seafserv/seafserv.c(350): connected to ccnet server
    [04/06/15 00:05:52] seafserv/seafserv.c(89): starting seaf-server …
    [04/06/15 00:05:52] created “seaf-server.exe -c “C:/seafile-server\ccnet” -d “C:/seafile-server\seafile-data” -l “C:/seafile-server\logs\seafile.log””, pid 1128
    [04/06/15 00:05:52] seafserv/seafserv.c(159): starting seahub …
    [04/06/15 00:05:52] created “python.exe “C:\seafile-server-4.0.6\seafile\bin\..\..\seahub\manage.py” runwsgiserver host=0.0.0.0 port=8000 autoreload=False staticserve=False”, pid 1340
    [04/06/15 00:05:52] seafserv/seafserv.c(550): [process monitor] started.

    Thank U.

    • April 6, 2015 at 8:07 pm

      Hi, i meant the config, not the log. unless you can grab the android log

  14. stas
    April 6, 2015 at 9:38 pm

    And how to do it?

  15. stas
    April 7, 2015 at 12:49 pm

    seafile.conf?

  16. stas
    April 7, 2015 at 4:07 pm

    Found the problem. When you put in seahub_settings HTTP_SERVER_ROOT = ‘https://www.example.com/seafhttp’ the file shakes BUT not until the end !!! Approximately 90% and sbrasyvaet.vchem could be the problem?Help

    Thank U

    • stas
      April 7, 2015 at 4:23 pm

      here are my configs:
      seahub_settings
      SECRET_KEY = ‘QbKORs+6llgqTHwx5T4HoodyUCp8fH7YeYTrUvI6WUfCLWFxVTTHAgoAAAAAAAAA+L+AAMj8KABFfEAAsL+AAJ0sQQAAAA4S4AAJIfAAAAAAAAAAAAAGi/gAAAXoAAAAAAALC/gACITKh2DQGlxfi/gAAI/SgAjYNAAODYgABAAAAAAAAAAAcAAAA4/igACwAAAAj9KAALj0AAODJBAA==’

      HTTP_SERVER_ROOT = ‘https://www.example.com/seafhttp’

      ccnet

      [General]
      USER_NAME = my-file
      ID = 05b75bbc838077f6dc39eb8a63cd3ec9d4c11d38
      NAME = 192.168.1.254
      SERVICE_URL = https://192.168.1.254

      [Network]
      PORT = 10001

      [Client]
      PORT = 13418

      Thank U

  17. stas
    April 7, 2015 at 9:42 pm

    any thoughts?

    • April 23, 2015 at 9:33 am

      Sorry, why is the name and service url not localhost? only the HTTP SERVER ROOT is https the rest you do not need to set https

  18. June 13, 2015 at 8:35 am

    I got everything working on Windows Server 2012 R2 with HTTPS sync. There were issues with the above web.config. See: https://www.weavweb.net/2015/06/07/seafile-https-sync-on-windows-server-2012r2-step-by-step/

    • October 27, 2015 at 1:30 pm

      I have Server 2012 R2 Essentials and already have the wildcard HTTP and HTTPS sites setup already because they were setup as part of Anywhere Access but they are already bound to the remotewebaccess site that was setup as part of Anywhere Access.

      How can I make this guide work for me?
      Do I need to register another domain name for seafile or can I use the remotewebaccess name for seafile as well?

      • October 27, 2015 at 2:38 pm

        I would recommend creating another website for this rather than mixing it up with the anywhere access part, primarily for separation of concerns

        if you want to use the same site, then you will need to channel all under a subfolder e.g /seafile, which might make things a tad more tricky

      • ajhowardau
        October 27, 2015 at 3:04 pm

        Ok. Thanks heaps.
        I’ll do a seperate site.
        So at the moment I access seafile server http://myserverip.com:8000. What would I need to name the site in iis?
        If I register a ddns domain name at no-ip for example.

        Would the site name be the the address for no-ip eg registereddomainname.no-ip.com?

      • October 27, 2015 at 5:53 pm

        Yes thats right, in your example the site name will be registereddomainname.no-ip.com:80

        If you are using https, please remember to generate a SSL certificate with the same name as well

        once done and setup, then just goto http://registereddomainname.no-ip.com or https://registereddomainname.no-ip.com to access your seafile instance

        have fun!

  19. ajhowardau
    October 28, 2015 at 10:59 am

    Ok. Sorry for all the questions but Im a bit confused.
    If I wanna access seafile from outside the LAN I’ll use the no-ip address but from inside the LAN I’ll need to use the server hostname or ip. How am I going to achieve this so both have access via https and which address would I put in ccnet.conf?

    Would I need 2 sites 1 with no-ip address and 1 with the server hostname or ip address? If I do.. there is already a https cerificate with my server hostname.
    I have a DNS running on the server.

  20. October 28, 2015 at 12:49 pm
  21. Vladi
    June 20, 2016 at 3:50 am

    Hi, guys!
    I did everything you wrote (also used this video guide https://www.youtube.com/watch?v=HRNCpR_mSSs)
    But when I try to run my https link I got error HTTP 403.14 – Forbidden
    I have no idea where I was wrong… I installed seafile derver on Windows Server 2012 R2. Without https evetything worked fine…

    my conf files:
    ccnet:
    [General]
    USER_NAME = my-seafile
    ID = 39f8dbf62d2187a68e00b3e51049da8821e1c49d
    NAME = my-seafile
    SERVICE_URL = https://localhost

    [Network]
    PORT = 10001

    [Client]
    PORT = 13418

    seahub_settings:
    SECRET_KEY = ‘XKfvRP3ZDMYjOMHg0PIKm5Xf4BVe9Ke5TY9t/5qRg/ruLbDquUc4YgoAAACgEkAAQKqJALj8KACFfEAAwO2JAKEsQQAAAAAA4S4AAJIfAAAAAAAAAAAAAMDtiQAI7okAAAAAAMDtiQCInIZ2+9m+B0CqiQD4/CgAzYNAAMjKiQBEAAAAAAAAAAcAAAAo/igACwAAAPj8KABjj0AAPDJBAA==’

    HTTP_SERVER_ROOT = ‘https://localhost/seafhttp’

    iis/http (saved in utf-8)

    iis/https (saved in utf-8)

    • June 20, 2016 at 8:27 pm

      Hi, can you just put a normal index.htm on the https site and see if you can access?

      • Vladi
        June 20, 2016 at 9:12 pm

        Yeap! When I add URL without https,- everything is okay!

      • July 11, 2016 at 4:40 am

        What i meant is

        1. Put an abc.htm and remove the web.config file that you have saved on the http and https site inside IIS
        2. Use a browser and browse to abc.htm on both http and https, this is to ensure that https works
        3. Now put back web.config and retry #2 again, if #2 works and now it doesnt that would mean something is wrong with web.config, suggest you manually type out web.config
        4. if you got it working so far, then you will need to turn on failed request tracing to see exactly where in the pipeline it went wrong

  1. June 13, 2015 at 8:34 am

Leave a reply to Mike L Cancel reply