seahub_django_request.log has indeed some errors and warnings. The relevant error seems to be:
2017-07-29 21:59:03,779 [ERROR] django.request:256 handle_uncaught_exception Internal Server Error: /search/
Traceback (most recent call last):
File "/media/raid1/seafile/seafile-pro-server-6.1.4/seahub/thirdpart/Django-1.8.18-py2.7.egg/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/media/raid1/seafile/seafile-pro-server-6.1.4/seahub/seahub/auth/decorators.py", line 27, in wrappedview
return view_func(request, *args, **kwargs)
File "/media/raid1/seafile/seafile-pro-server-6.1.4/seahub-extra/seahub_extra/search/views.py", line 89, in search
results, total = search_repo_file_by_name(request, repo, keyword, suffixes, start, size)
File "/media/raid1/seafile/seafile-pro-server-6.1.4/seahub-extra/seahub_extra/search/utils.py", line 82, in search_repo_file_by_name
files_found, total = es_search([repo.id], keyword, suffixes, start, size)
File "/media/raid1/seafile/seafile-pro-server-6.1.4/pro/python/seafes/__init__.py", line 8, in es_search
files_index = RepoFilesIndex(conn)
File "/media/raid1/seafile/seafile-pro-server-6.1.4/pro/python/seafes/indexes/repo_files.py", line 91, in init
File "/media/raid1/seafile/seafile-pro-server-6.1.4/pro/python/seafes/indexes/base.py", line 21, in create_index_if_missing
if not self.es.indices.exists(index=self.INDEX_NAME):
File "/media/raid1/seafile/seafile-pro-server-6.1.4/pro/python/elasticsearch-2.4.1-py2.7.egg/elasticsearch/client/utils.py", line 69, in _wrapped
return func(*args, params=params, **kwargs)
File "/media/raid1/seafile/seafile-pro-server-6.1.4/pro/python/elasticsearch-2.4.1-py2.7.egg/elasticsearch/client/indices.py", line 225, in exists
File "/media/raid1/seafile/seafile-pro-server-6.1.4/pro/python/elasticsearch-2.4.1-py2.7.egg/elasticsearch/transport.py", line 327, in perform_request
status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
File "/media/raid1/seafile/seafile-pro-server-6.1.4/pro/python/elasticsearch-2.4.1-py2.7.egg/elasticsearch/connection/http_urllib3.py", line 106, in perform_request
raise ConnectionError('N/A', str(e), e)
ConnectionError: ConnectionError(: Failed to establish a new connection: [Errno 111] Connection refused) caused by: NewConnectionError(: Failed to establish a new connection: [Errno 111] Connection refused)
What does that tell me?
I thought whether the problem might be related to seafile running behind an apache virtual host. However, I do have configured this setup according to the manual (https://manual.seafile.com/deploy/deploy_with_apache.html). The custom service URL is in ccnet.conf and seahub_settings.py. I have copied and adapted the apache vhost-conf from the manual. The problem also persists when I disable all firewall rules.
What is probably special about the setup is that I have configured apache to serve the vhost for seafile on two different ports (443 and 334). Both ports are redirected to http://127.0.0.1:8082. Connections to 443 are accepted only from my LAN. Port 334 is used for NAT behind my router, that is, the router forwards incoming WAN requests for myseafile.domain.com:443 to INTERNAL.IP.OF.SERVER:334. This setup has been made to expose only the seafile vhost to the Internet and not any https-host on my server.
Also, my server runs a local DNS which redirects requests from the LAN for some domains to local network devices. I.e., for a host on the Internet, myseafile.domain.com resolves to my router's public IP (and is NATted to my server), while for a host on my LAN, myseafile.domain.com resolves to the server's LAN IP directly.
Although this setup is probably special, apart from the problem with the search box, everything works fine with this setup.
Hope the information help to identify the problem cause.