[GH-ISSUE #2053] SFTP Downloads using Apache Guacamole behind NPM #1480

Closed
opened 2026-02-26 07:31:14 +03:00 by kerem · 4 comments
Owner

Originally created by @Baipyrus on GitHub (May 14, 2022).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2053

I have posted about my Problem on Reddit before, but even after 600+ Views and almost a month of waiting, nobody seemed to be able to help. Please read the detailed description and my observations from the post linked below:

https://www.reddit.com/r/nginxproxymanager/comments/u8pfe9/sftp_downloads_using_apache_guacamole_behind_npm/

Originally created by @Baipyrus on GitHub (May 14, 2022). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2053 I have posted about my Problem on Reddit before, but even after 600+ Views and almost a month of waiting, nobody seemed to be able to help. Please read the detailed description and my observations from the post linked below: https://www.reddit.com/r/nginxproxymanager/comments/u8pfe9/sftp_downloads_using_apache_guacamole_behind_npm/
kerem 2026-02-26 07:31:14 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@the1ts commented on GitHub (May 27, 2022):

All I can think of is that when you are going through NPM, your router and ISP network comes into play. In the past I've seen this slow down when a part of the network stack changes the TCP window scaling values (the amount of packets to be sent before a response is required), if this is set lowered by one piece of networking equipment in the route we can get down to modem speeds quickly on a broadband network when large single transfers are attempted. (Speed of transfer goes up as the TCP Window is scaled up, this is why downloads ramp up in speed and fluctuate as sending is paused waiting for a response packet saying all receieved).
It would be good to test a simple large file transfer not via NPM but over the same network to isolate the issue. Worth using a host file to send traffic to the subdomain, but directly to NPM, rather than your ISP router and back in.

<!-- gh-comment-id:1139697284 --> @the1ts commented on GitHub (May 27, 2022): All I can think of is that when you are going through NPM, your router and ISP network comes into play. In the past I've seen this slow down when a part of the network stack changes the TCP window scaling values (the amount of packets to be sent before a response is required), if this is set lowered by one piece of networking equipment in the route we can get down to modem speeds quickly on a broadband network when large single transfers are attempted. (Speed of transfer goes up as the TCP Window is scaled up, this is why downloads ramp up in speed and fluctuate as sending is paused waiting for a response packet saying all receieved). It would be good to test a simple large file transfer not via NPM but over the same network to isolate the issue. Worth using a host file to send traffic to the subdomain, but directly to NPM, rather than your ISP router and back in.
Author
Owner

@Baipyrus commented on GitHub (May 27, 2022):

I'm not sure I can follow what you are suggesting. The problem is not the speed of downloading as it instantly cuts the connection as soon as you try to download. This also only occurs on this SFTP Download, as the problem does not occur on any other subdomain or request in general (I use a Nextcloud alongside other things). Everything worked just fine up to this point. I've also said in the post before that any type of Download, even over SFTP on the same exact webpage, works just fine when I do it locally (in the same network), which is why I came to the conclusion that this problem has to do with NPM.

<!-- gh-comment-id:1139742669 --> @Baipyrus commented on GitHub (May 27, 2022): I'm not sure I can follow what you are suggesting. The problem is not the speed of downloading as it instantly cuts the connection as soon as you try to download. This also only occurs on this SFTP Download, as the problem does not occur on any other subdomain or request in general (I use a Nextcloud alongside other things). Everything worked just fine up to this point. I've also said in the post before that any type of Download, even over SFTP on the same exact webpage, works just fine when I do it locally (in the same network), which is why I came to the conclusion that this problem has to do with NPM.
Author
Owner

@the1ts commented on GitHub (May 27, 2022):

Been struggling to grasp what the real problem is, but:
You don't mention setting up the NPM subdomain to allow web sockets. This is specifically mentioned as a requirement in the proxying guacamole section of the docs. Have you turned this feature on in the edit proxy host form in NPM?

<!-- gh-comment-id:1139765426 --> @the1ts commented on GitHub (May 27, 2022): Been struggling to grasp what the real problem is, but: You don't mention setting up the NPM subdomain to allow web sockets. This is specifically mentioned as a requirement in the proxying guacamole section of the [docs](https://guacamole.apache.org/doc/0.9.7/gug/proxying-guacamole.html#nginx). Have you turned this feature on in the edit proxy host form in NPM?
Author
Owner

@Baipyrus commented on GitHub (May 27, 2022):

I'm not sure how I managed to fail this badly, but this seems to have been the problem. I am also 100% certain that I have tried this in the past, but either something has changed due to updates or I made some other mistakes back then. EIther way, I thank you so so much for helping and spending your time on this.

<!-- gh-comment-id:1139805899 --> @Baipyrus commented on GitHub (May 27, 2022): I'm not sure how I managed to fail this badly, but this seems to have been the problem. I am also 100% certain that I have tried this in the past, but either something has changed due to updates or I made some other mistakes back then. EIther way, I thank you so so much for helping and spending your time on this.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#1480
No description provided.