Cannot get Cells-Sync to work

I have a Cells Server 2.0.5 running fine, behind a Nginx reverse proxy
It seems to me that web browser access and Andoid client access to this is working fine.

I have installed Cells-Sync on my Ubuntu 19.10 desktop, and I am unable to create any task.

I can successfully create a login, but when I try to Pick a Folder, I get this error message:-
transport: received the unexpected content-type "text/html; charset=utf-8"

I know the client is connecting to the proxy, because if I shut it down, the message becomes:-
cannot connect (connection refused): .....

I cannot see anything helpful in the logs

Since Cells is version 2.0.5 from early April. and Cells-Sync ( [v0.9.2-dev.20191219] is from December
I wonder if anything needs updating in the client.

My config is here, but it’s just taken from Pydio’s documentation.

Hello @jradxl,

For Cells Sync to work with your Cells that is running behind nginx, you must set on your server a port either via an ENV PYDIO_GRPC_EXTERNAL=33060 or you can start cells with, ./cells start --grpc_external=33060.

do not mind the 33060 number, you can use any port of your choice

Then you need to proxy the grpc trafic with nginx, with the following:

server {
  listen 33060 ssl http2;
  listen [::]:33060 ssl http2;
  ssl_certificate     www.example.com.crt;
  ssl_certificate_key www.example.com.key;
  ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers         HIGH:!aNULL:!MD5;
  keepalive_timeout 600s;

  location / {
    grpc_pass grpcs://192.168.0.12:33060;
  }

  error_log /var/log/nginx/proxy-grpc-error.log;
  access_log /var/log/nginx/proxy-grpc-access.log;
} 

For more details I invite you to take a look at this article.

I have read the documentation before I posted question.
THAT is what I have!

nothing is ever written to proxy-grpc-error.log

The ONLY interaction with the Nginx proxy AFTER the login is to send a
$http_content_type = “application/grpc” request to the ROOT of the proxy
and thus to proxy_pass

./cells start --grpc_external=33060

is listening on ipv6 only
If you have that in your documentation, I missed it

@jradxl did you finally solve your problem ?

I’m running cells with http behind a nginx reverse proxy and got into the same problem.
The problem seems to be cells-sync doing the gRPC requests against the unchanged url of the server.

I found a workaround by redirecting the gRPC requests:

server {
  listen 0.0.0.0:443 ssl http2;
  server_name example.com;
  client_max_body_size 200M;

  # forward gRPC requests (format is guessed, so this may break)
  # "/tree.NodeProvider/ListNodes"
  # "/tree.NodeChangesStreamer/StreamChanges"
  location ~ ^/\w+\.\w+/\w+$ {
    grpc_pass grpc://127.0.0.1:33060;
  }

  location / {
    proxy_buffering off;
    proxy_pass http://127.0.0.1:8080$request_uri;
    proxy_set_header Host localhost:8080;
    proxy_set_header X-Real-IP $remote_addr;
  }

  location /ws {
    proxy_buffering off;
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host localhost:8080;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 86400;
  }

  # <ssl config>
}