Can't download files: Server responds with a wrong/strange URL

Hi everyone,

I have recently installed Seafile Server 6.0.7 CE using the “seafile_centos” script on a freshly installed and updated minimal Centos 7 x64.

I can sync my files to the server using the Windows client and browse/download files without issues through WebDAV (https://192.168.37.138/seafdav/)

However, I cannot donwload files using the web client.
On Chrome nothing happens when I click on the download icon, while Firefox throws the error message:

Corrupted Content Error
The site at https://192.168.37.138/lib/cb13d4bb-f4d5-4bdb-8321-008bda18246a/file/Test.pdf?dl=1 has experienced a network protocol violation that cannot be repaired.
[…]

Summary of request and response headers:

- Request URL: https://192.168.37.138/lib/cb13d4bb-f4d5-4bdb-8321-008bda18246a/file/Test.pdf?dl=1
- Request method: GET
- Remote address: 192.168.37.138:443
- Status code: 302 FOUND
- Version: HTTP/1.1
- Request Headers:
	Host: 192.168.37.138
	User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0
	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
	Accept-Language: en-US,en;q=0.5
	Accept-Encoding: gzip, deflate, br
	Referer: https://192.168.37.138/
	Cookie: csrftoken=~~~~~TOKEN~~~~~; sessionid=~~~~~~ID~~~~~~
	Connection: keep-alive
	Upgrade-Insecure-Requests: 1
- Response Headers:
	Connection: keep-alive
	Content-Language: en
	Content-Type: text/html; charset=utf-8
	Date: Tue, 07 Feb 2017 19:27:37 GMT
	Location: https://::1%20127.0.0.1/seafhttp/files/396955f1-cfb5-450d-a2b8-5ced675196cb/Test.pdf
	Server: nginx
	Transfer-Encoding: chunked
	Vary: Accept-Language, Cookie

As you can see, the hostname in the response seems to be the string “::1 127.0.0.1” URL-encoded.

Also, I fail with a “Unknown error” message when I try to upload a file, either by drag-drop or using the select/upload dialog.

So far, I have not yet edited any config file manually.

Checking the following log files was not useful either:

  • /var/log/nginx/seahub.error.log
  • /var/log/nginx/seafdav.error.log
  • /var/log/nginx/error.log
  • /var/log/nginx/access.log
  • /var/log/nginx/seahub.access.log
  • /var/log/nginx/seafdav.access.log
  • /opt/seafile/seafile-server-6.0.7/runtime/access.log
  • /opt/seafile/seafile-server-6.0.7/runtime/error.log
  • /opt/seafile/logs/seahub_django_request.log
  • /opt/seafile/logs/ccnet.log
  • /opt/seafile/logs/seafile.log
  • /opt/seafile/logs/controller.log
  • /opt/seafile/logs/seahub.log
  • /opt/seafile/logs/seafdav.log

What could be wrong?

Have you change your settings of SERVICE_URL and FILE_SERVER_ROOT on the web setting page ?

No. I have not modified the defaults values, respectively: “https://::1 127.0.0.1” and "https://::1 127.0.0.1/seafhttp"

Now downloads and uploads work as intended after changing them to: https://192.168.37.138 and "https://192.168.37.138/seafhttp"

Thank you very much.

P.S. Out of interest, what do the default values mean? Is it possible, for example, to set multiple domains/IP addresses for these URLs?

The default value is your computer’s internal ip, which are setted by the script automatically.

you must use the same domain/ip for SERVICE_URL and FILE_SERVER_ROOT

Ah, OK.
Thank you. :slight_smile: