Error behind Load Balancer for import/export


I installed seatable in enterprise version on a single node.
The installation is on AWS, with a load balancer that has a self-signed ssl certificate.

This is what it looks like:
User → LB with SSL → Foward to :80 → SeaTable Enterprise Host (no public ip)

If i keep all configs url for seatable on HTTP I’ve an network error when I try to access to an table.
If i change all configs url on HTTPS all works fine but not the Import/Export function whatever the format.

On dtable_web.log:
django.request:230 log_response Not Found: /api/v2.1/workspace/1/dtable/Untitled base/export-table-to-excel/

Same for plugins:

2022-10-22 14:04:41,125 [ERROR] django.request:230 log_response Internal Server Error: /api/v2.1/admin/dtable-system-plugins/
Traceback (most recent call last):
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/handlers/", line 47, in inner
    response = get_response(request)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/handlers/", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/views/decorators/", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/views/generic/", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/", line 469, in handle_exception
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/", line 480, in raise_uncaught_exception
    raise exc
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/seahub/api2/endpoints/admin/", line 186, in post
    plugin_path_id = seafile_api.get_dir_id_by_path(PLUGINS_REPO_ID, plugin_path)
  File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/seaserv/", line 256, in get_dir_id_by_path
    return seafserv_threaded_rpc.get_dir_id_by_path(repo_id, path)
  File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/", line 127, in newfunc
    return fret(ret_str)
  File "/opt/seatable/seatable-server-latest/seafile/lib/python3/site-packages/pysearpc/", line 25, in _fret_string
    raise SearpcError(dicts['err_msg'])
pysearpc.common.SearpcError: Get repo error

Is this something you’ve encountered before ?

Thanks !

Ok for the plugins part I’ve resolved the issue, in fact I don’t know why but when the configuration file has been generated the parameter “PLUGINS_REPO_ID=xxxxxxxxxxxxxx” were duplicated.
One have been deleted and that’s working fine.

The issue for the export/import has been resolved.

As I used an autosigned certificate, components were not able to communicate with each other.

Curl test from the container to the load balancer was helpful to identify the issue.

Solution was to trust the ssl authority via the merge of our certificate chain in the apps.

    image: seatable/seatable-enterprise:latest
    container_name: seatable
      - "80:80"                                      
      - "443:443"                                      
      - seatable_data:/shared
      - **/mnt/efs/seatable/seatable/conf/cacert.pem:/opt/seatable/seatable-server-3.2.6/dtable-web/thirdpart/certifi/cacert.pem**             
      - DB_HOST=
      - TIME_ZONE=Europe/Paris                              
      - memcached
      - redis

Many thanks to Ralf for his support and this incredible tool :slight_smile:

1 Like

Very pleased to hear!

If you like what you see now, all the goodies in the pipeline will get you excited!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.