[solved] Pydio reverse proxy, can't upload files or create cells

Hi,
I tried to install cells on my server but I can’t upload files onto it. In the chrom console I get the following error messages:

VM8:60 PUT https://cells.xxx.xxx/a/share/cell 403
Request._end @ VM8:60
Request.end @ VM8:60
eval @ VM8:68
ApiClient.callApi @ VM8:68
eval @ VM8:68
Promise.then (async)
eval @ VM8:67
JwtApiClient.callApi @ VM8:67
ShareServiceApi.putCellWithHttpInfo @ VM8:70
ShareServiceApi.putCell @ VM8:70
CellModel.save @ VM8:86
submit @ CreateCellDialog.js:111
onTouchTap @ CreateCellDialog.js:206
EnhancedButton._this.handleTouchTap @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:34
invokeGuardedCallback @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
executeDispatch @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
executeDispatchesInOrder @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
executeDispatchesAndRelease @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
executeDispatchesAndReleaseTopLevel @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
forEachAccumulated @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:51
processEventQueue @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
runEventQueueInBatch @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
handleTopLevel @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
handleTopLevelImpl @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
perform @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:51
batchedUpdates @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
batchedUpdates @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:50
dispatchEvent @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
VM8:68 Error: Unsuccessful HTTP response
    at Request.eval (eval at <anonymous> (cells.xxx.xxx/:1), <anonymous>:60:1159)
    at Request.Emitter.emit (eval at <anonymous> (cells.xxx.xxx/:1), <anonymous>:55:11072)
    at XMLHttpRequest.xhr.onreadystatechange (eval at <anonymous> (cells.xxx.xxx/:1), <anonymous>:60:4148)
JwtApiClient.handleError @ VM8:68
eval @ VM8:68
Promise.catch (async)
eval @ VM8:68
Promise.then (async)
eval @ VM8:67
JwtApiClient.callApi @ VM8:67
ShareServiceApi.putCellWithHttpInfo @ VM8:70
ShareServiceApi.putCell @ VM8:70
CellModel.save @ VM8:86
submit @ CreateCellDialog.js:111
onTouchTap @ CreateCellDialog.js:206
EnhancedButton._this.handleTouchTap @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:34
invokeGuardedCallback @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
executeDispatch @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
executeDispatchesInOrder @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
executeDispatchesAndRelease @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
executeDispatchesAndReleaseTopLevel @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
forEachAccumulated @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:51
processEventQueue @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:46
runEventQueueInBatch @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
handleTopLevel @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
handleTopLevelImpl @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
perform @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:51
batchedUpdates @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49
batchedUpdates @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:50
dispatchEvent @ bundle.prod.min.js?v=8a5db2525299e6ec4e782ea716299a52:49

I configured it via reverse proxy on an nginx container:

server {
    if ($host = cells.xxx.xxx) {
        return 301 https://$host$request_uri;
    }

    listen 80 http2;
    listen [::]:80 http2;
    server_name cells.xxx.xxx;
    return 404;
}

server {
        client_max_body_size 200M;
        server_name cells.xxx.xxx www.cells.xxx.xxx;

        location / {
                proxy_buffering off;
                proxy_pass https://cells:8080$request_uri;
                #proxy_pass_request_headers on;
                #proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
        }

        location /ws {
                proxy_buffering off;
                proxy_pass https://cells:8080;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_read_timeout 86400;
        }

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

    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    include /config/nginx/proxy-confs/*.subfolder.conf;
    include /config/nginx/ssl_monster.conf;
}

Hi,

Cells accepts only one domain.

Make sure that the external url - "URL": "cells.xxx.xxx" in pydio.json

Thanks. It works now