Nextcloud snap behind reverse proxy fails to install app

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Nextcloud version: 20.0.4
Operating system and version: Ubuntu 18.04.5 LTS
NGINX (reverse Proxy): 1.14.0
Snap Version: 20.0.4snap1

The issue you are facing:

App installation of any App fails.

Is this the first time you’ve seen this error? (Y/N):

Y

Steps to replicate it:

  1. Go to Apps
  2. Hit Download and Install Button on e.g. Deck

The output of your Nextcloud log in Admin > Logging:

{"reqId":"IRIRKcybbF0Pv0xgP1Sw","level":3,"time":"2021-01-12T08:36:46+00:00","remoteAddr":"127.0.0.1","user":"steffen","app":"settings","method":"POST","url":"/index.php/settings/apps/enable","message":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 28: Operation timed out after 120000 milliseconds with 1357394 out of 5339115 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)","Code":0,"Trace":[{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":155,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"sink":{"stream":{"__class__":"GuzzleHttp\\Psr7\\Stream"},"__class__":"GuzzleHttp\\Psr7\\LazyOpenStream"},"headers":["x-amz-id-2: +Zp9ktpSjiU9YNXvupI7JXUuJ96Rv7tMlFDyJDrdNNwOF8KhbHstNQzPb6+g8zuJQHIoSTr13i8=","x-amz-request-id: 00F7F1651515D92B","Date: Tue, 12 Jan 2021 08:34:49 GMT","Last-Modified: Mon, 04 Jan 2021 21:56:56 GMT","ETag: \"946fbd0c761ad71c760ffe4b8f916ba5\"","Content-Disposition: attachment; filename=deck.tar.gz","Accept-Ranges: bytes","Content-Type: application/octet-stream","Content-Length: 5339115","Server: AmazonS3"],"response":{"__class__":"GuzzleHttp\\Psr7\\Response"},"request":{"__class__":"GuzzleHttp\\Psr7\\Request"},"options":{"verify":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_x4wKSW-.crt","timeout":120,"synchronous":true,"handler":{"__class__":"GuzzleHttp\\HandlerStack"},"allow_redirects":{"max":5,"protocols":["http","https"],"strict":false,"referer":false,"track_redirects":false},"http_errors":true,"decode_content":true,"cookies":false,"idn_conversion":true,"sink":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_ngEJsz-.tar.gz","__redirect_count":1},"errno":28,"onHeadersException":null,"__class__":"GuzzleHttp\\Handler\\EasyHandle"},{"errno":28,"error":"Operation timed out after 120000 milliseconds with 1357394 out of 5339115 bytes received","appconnect_time":1.982583,"url":"https://github-production-release-asset-2e65be.s3.amazonaws.com/79368515/211b2500-4ee0-11eb-8724-1d3de6786e57?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210112%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210112T083446Z&X-Amz-Expires=300&X-Amz-Signature=94fe6e6f5d22c7f838762bcf4598efd15fb332a50f5e9a47d54d9dcf8f14fef5&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=79368515&response-content-disposition=attachment%3B%20filename%3Ddeck.tar.gz&response-content-type=application%2Foctet-stream","content_type":"application/octet-stream","http_code":200,"header_size":430,"request_size":607,"filetime":-1,"ssl_verify_result":0,"redirect_count":0,"total_time":120.006122,"namelookup_time":0.061011,"connect_time":1.176065,"pretransfer_time":1.982671,"size_upload":0,"size_download":1357394,"speed_download":11311,"speed_upload":0,"download_content_length":5339115,"upload_content_length":-1,"starttransfer_time":2.106264,"redirect_time":0,"redirect_url":"","primary_ip":"52.216.136.252","certinfo":[],"primary_port":443,"local_ip":"192.168.178.71","local_port":53308,"http_version":2,"protocol":2,"ssl_verifyresult":0,"scheme":"HTTPS","curl_version":"7.58.0"}]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":105,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},{"sink":{"stream":{"__class__":"GuzzleHttp\\Psr7\\Stream"},"__class__":"GuzzleHttp\\Psr7\\LazyOpenStream"},"headers":["x-amz-id-2: +Zp9ktpSjiU9YNXvupI7JXUuJ96Rv7tMlFDyJDrdNNwOF8KhbHstNQzPb6+g8zuJQHIoSTr13i8=","x-amz-request-id: 00F7F1651515D92B","Date: Tue, 12 Jan 2021 08:34:49 GMT","Last-Modified: Mon, 04 Jan 2021 21:56:56 GMT","ETag: \"946fbd0c761ad71c760ffe4b8f916ba5\"","Content-Disposition: attachment; filename=deck.tar.gz","Accept-Ranges: bytes","Content-Type: application/octet-stream","Content-Length: 5339115","Server: AmazonS3"],"response":{"__class__":"GuzzleHttp\\Psr7\\Response"},"request":{"__class__":"GuzzleHttp\\Psr7\\Request"},"options":{"verify":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_x4wKSW-.crt","timeout":120,"synchronous":true,"handler":{"__class__":"GuzzleHttp\\HandlerStack"},"allow_redirects":{"max":5,"protocols":["http","https"],"strict":false,"referer":false,"track_redirects":false},"http_errors":true,"decode_content":true,"cookies":false,"idn_conversion":true,"sink":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_ngEJsz-.tar.gz","__redirect_count":1},"errno":28,"onHeadersException":null,"__class__":"GuzzleHttp\\Handler\\EasyHandle"},{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":43,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},{"sink":{"stream":{"__class__":"GuzzleHttp\\Psr7\\Stream"},"__class__":"GuzzleHttp\\Psr7\\LazyOpenStream"},"headers":["x-amz-id-2: +Zp9ktpSjiU9YNXvupI7JXUuJ96Rv7tMlFDyJDrdNNwOF8KhbHstNQzPb6+g8zuJQHIoSTr13i8=","x-amz-request-id: 00F7F1651515D92B","Date: Tue, 12 Jan 2021 08:34:49 GMT","Last-Modified: Mon, 04 Jan 2021 21:56:56 GMT","ETag: \"946fbd0c761ad71c760ffe4b8f916ba5\"","Content-Disposition: attachment; filename=deck.tar.gz","Accept-Ranges: bytes","Content-Type: application/octet-stream","Content-Length: 5339115","Server: AmazonS3"],"response":{"__class__":"GuzzleHttp\\Psr7\\Response"},"request":{"__class__":"GuzzleHttp\\Psr7\\Request"},"options":{"verify":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_x4wKSW-.crt","timeout":120,"synchronous":true,"handler":{"__class__":"GuzzleHttp\\HandlerStack"},"allow_redirects":{"max":5,"protocols":["http","https"],"strict":false,"referer":false,"track_redirects":false},"http_errors":true,"decode_content":true,"cookies":false,"idn_conversion":true,"sink":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_ngEJsz-.tar.gz","__redirect_count":1},"errno":28,"onHeadersException":null,"__class__":"GuzzleHttp\\Handler\\EasyHandle"},{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Handler/Proxy.php","line":28,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Handler/Proxy.php","line":51,"function":"GuzzleHttp\\Handler\\{closure}","class":"GuzzleHttp\\Handler\\Proxy","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":37,"function":"GuzzleHttp\\Handler\\{closure}","class":"GuzzleHttp\\Handler\\Proxy","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":29,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":70,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":107,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":72,"function":"checkRedirect","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":[{"__class__":"GuzzleHttp\\Psr7\\Request"},"*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/promises/src/FulfilledPromise.php","line":39,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":47,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\FulfilledPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":246,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[true]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":223,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":267,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":225,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Client.php","line":183,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/snap/nextcloud/25276/htdocs/lib/private/Http/Client/Client.php","line":233,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["get","https://github.com/nextcloud/deck/releases/download/v1.2.3/deck.tar.gz",{"verify":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_x4wKSW-.crt","timeout":120,"save_to":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_ngEJsz-.tar.gz","headers":{"User-Agent":"Nextcloud Server Crawler","Accept-Encoding":"gzip"},"synchronous":true}]},{"file":"/snap/nextcloud/25276/htdocs/lib/private/Installer.php","line":283,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["https://github.com/nextcloud/deck/releases/download/v1.2.3/deck.tar.gz",{"save_to":"/var/snap/nextcloud/common/nextcloud/tmp/oc_tmp_ngEJsz-.tar.gz","timeout":120}]},{"file":"/snap/nextcloud/25276/htdocs/apps/settings/lib/Controller/AppSettingsController.php","line":445,"function":"downloadApp","class":"OC\\Installer","type":"->","args":["deck"]},{"file":"/snap/nextcloud/25276/htdocs/lib/private/AppFramework/Http/Dispatcher.php","line":169,"function":"enableApps","class":"OCA\\Settings\\Controller\\AppSettingsController","type":"->","args":[["deck"],[]]},{"file":"/snap/nextcloud/25276/htdocs/lib/private/AppFramework/Http/Dispatcher.php","line":100,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Settings\\Controller\\AppSettingsController"},"enableApps"]},{"file":"/snap/nextcloud/25276/htdocs/lib/private/AppFramework/App.php","line":152,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Settings\\Controller\\AppSettingsController"},"enableApps"]},{"file":"/snap/nextcloud/25276/htdocs/lib/private/Route/Router.php","line":308,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Settings\\Controller\\AppSettingsController","enableApps",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"action":null,"_route":"settings.AppSettings.enableApps"}]},{"file":"/snap/nextcloud/25276/htdocs/lib/base.php","line":1008,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/settings/apps/enable"]},{"file":"/snap/nextcloud/25276/htdocs/index.php","line":37,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/snap/nextcloud/25276/htdocs/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":200,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0","version":"20.0.4.0","id":"5ffd5f9eb45c2"}

Further debugging made clear, that the download of the app takes forever. Can someone verify that it takes hours to download the app:

wget https://github.com/nextcloud/deck/releases/download/v1.2.3/deck.tar.gz

Can someone verify

Takes one second for me.

1 Like

Ok, I think I found the problem: If you are from germany and your ISP is Telekom, then the ISP is the problem as Telekom has continuously problems with AWS.

Workaround:

  • use a proxy website
  • use a VPN connection

After downloading you can untar the file to the following location: /var/snap/nextcloud/current/nextcloud/extra-apps/
After that it only needs to be activated.

aaargh those evil ISPs that are blocking access. :frowning:

I feel fortunate to live in Sweden.

But wait… Is this the same company?

Yes, it is!

Post must be 10 characters. I only have one.

:astonished:

1 Like

They say it is not their fault since aws routes traffic in oddly. Well I don’t know :confused: