[GH-ISSUE #1904] 404 Not Found for specific target after working previously - intermittent routing failure #2040

Closed
opened 2026-04-16 08:59:35 -05:00 by GiteaMirror · 10 comments
Owner

Originally created by @nkkfs on GitHub (Nov 21, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/1904

Describe the Bug

Hi, I'm experiencing an issue where one specific target (Nextcloud AIO) returns 404 Not Found through Pangolin, while all other targets on the same backend server continue to work correctly. Direct access to the backend works perfectly with the same headers that Pangolin should be forwarding.

Environment

  • Deployment: Docker on separate VM in Unraid
  • Backend: Nextcloud AIO on Unraid server

Target Configuration

  • Domain: nextcloud.example.com
  • Target URL: http://192.168.1.100:11000
  • SSL: Enabled
  • Custom Headers:
    X-Forwarded-Proto: https
    X-Forwarded-Host: nextcloud.example.com
  • Priority: 100
  • Health check: Shows as unhealthy

Other targets: Multiple other services on the same Unraid server (same IP, different ports) work correctly through Pangolin.

Issue Details

  • Accessing https://nextcloud.example.com through Pangolin returns 404 Not Found
  • Direct access to http://192.168.1.100:11000 works correctly
  • Other services proxied through Pangolin to the same backend server (192.168.1.100) work fine
  • Issue appeared spontaneously after working correctly for an extended period

Logs

Gerbil sometimes shows:
ERROR: 2025/11/21 15:33:00 Error reading UDP packet: read udp [::]:21820: use of closed network connection
INFO: 2025/11/21 15:33:21 Fetching remote config from http://pangolin:3001/api/v1/gerbil/get-config
ERROR: 2025/11/21 15:33:21 Error fetching remote config: Post "http://pangolin:3001/api/v1/gerbil/get-config": dial tcp 172.18.0.2:3001: connect: connection refused
ERROR: 2025/11/21 15:33:21 Failed to load configuration: Post "http://pangolin:3001/api/v1/gerbil/get-config": dial tcp 172.18.0.2:3001: connect: connection refused

Traefik sometimes shows:
2025-11-21T15:33:22Z ERR Provider error, retrying in 260.669806ms error="cannot fetch configuration data: do fetch request: Get "[http://pangolin:3001/api/v1/traefik-config\](http://pangolin:3001/api/v1/traefik-config%5C)": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http

Testing Performed

Direct backend test with same headers (successful):

curl -v -H "Host: nextcloud.example.com" \
     -H "X-Forwarded-Proto: https" \
     -H "X-Forwarded-Host: nextcloud.example.com" \
     http://192.168.1.100:11000

Result: HTTP/1.1 302 Found, redirects to https://nextcloud.example.com/login

Through Pangolin: Returns 404 Not Found

Other services on same backend: All work correctly

Container restarts: Restarted Pangolin, Gerbil, Traefik - no change

VM restart: Full VM restart - no change

Clean reinstall: Reinstalled Pangolin completely, but didn't help

Questions

  1. Is there additional debug logging I can enable to see how Pangolin processes requests for this specific domain?

  2. Could this be related to how Pangolin handles health checks? The health check shows as unhealthy, but other unhealthy targets still proxy requests correctly.

  3. Are there any known issues with specific backend configurations (like Nextcloud AIO with its internal Caddy/Apache setup) that could cause Pangolin to return 404 despite the backend being accessible?

Additional Context

The backend (Nextcloud AIO) configuration hasn't changed. The issue affects only this one target while all other proxied services to the same backend continue working normally. This suggests something specific about how Pangolin routes this particular domain/target combination, but with no errors in logs, it's difficult to diagnose.

Environment

  • OS Type & Version: Fedora Server 43 (but Ubuntu 24.04LTS had same problem)
  • Pangolin Version: 1.12.2
  • Gerbil Version: 1.2.2
  • Traefik Version: 3.6.2
  • Newt Version: 1.6.0
  • Olm Version: NONE

To Reproduce

Just try to reverse-proxy Nextcloud AiO Apache container.

Expected Behavior

Access Nextcloud dashboard

Originally created by @nkkfs on GitHub (Nov 21, 2025). Original GitHub issue: https://github.com/fosrl/pangolin/issues/1904 ### Describe the Bug Hi, I'm experiencing an issue where one specific target (Nextcloud AIO) returns 404 Not Found through Pangolin, while all other targets on the same backend server continue to work correctly. Direct access to the backend works perfectly with the same headers that Pangolin should be forwarding. ## Environment - Deployment: Docker on separate VM in Unraid - Backend: Nextcloud AIO on Unraid server ## Target Configuration - Domain: nextcloud.example.com - Target URL: http://192.168.1.100:11000 - SSL: Enabled - Custom Headers: X-Forwarded-Proto: https X-Forwarded-Host: nextcloud.example.com - Priority: 100 - Health check: Shows as unhealthy Other targets: Multiple other services on the same Unraid server (same IP, different ports) work correctly through Pangolin. ## Issue Details - Accessing https://nextcloud.example.com through Pangolin returns 404 Not Found - Direct access to http://192.168.1.100:11000 works correctly - Other services proxied through Pangolin to the same backend server (192.168.1.100) work fine - Issue appeared spontaneously after working correctly for an extended period ## Logs ``` Gerbil sometimes shows: ERROR: 2025/11/21 15:33:00 Error reading UDP packet: read udp [::]:21820: use of closed network connection INFO: 2025/11/21 15:33:21 Fetching remote config from http://pangolin:3001/api/v1/gerbil/get-config ERROR: 2025/11/21 15:33:21 Error fetching remote config: Post "http://pangolin:3001/api/v1/gerbil/get-config": dial tcp 172.18.0.2:3001: connect: connection refused ERROR: 2025/11/21 15:33:21 Failed to load configuration: Post "http://pangolin:3001/api/v1/gerbil/get-config": dial tcp 172.18.0.2:3001: connect: connection refused ``` Traefik sometimes shows: `2025-11-21T15:33:22Z ERR Provider error, retrying in 260.669806ms error="cannot fetch configuration data: do fetch request: Get "[http://pangolin:3001/api/v1/traefik-config\](http://pangolin:3001/api/v1/traefik-config%5C)": dial tcp 172.18.0.2:3001: connect: connection refused" providerName=http` ## Testing Performed **Direct backend test with same headers (successful):** ```bash curl -v -H "Host: nextcloud.example.com" \ -H "X-Forwarded-Proto: https" \ -H "X-Forwarded-Host: nextcloud.example.com" \ http://192.168.1.100:11000 ``` Result: `HTTP/1.1 302 Found`, redirects to `https://nextcloud.example.com/login` **Through Pangolin:** Returns 404 Not Found **Other services on same backend:** All work correctly **Container restarts:** Restarted Pangolin, Gerbil, Traefik - no change **VM restart:** Full VM restart - no change **Clean reinstall:** Reinstalled Pangolin completely, but didn't help ## Questions 1. Is there additional debug logging I can enable to see how Pangolin processes requests for this specific domain? 2. Could this be related to how Pangolin handles health checks? The health check shows as unhealthy, but other unhealthy targets still proxy requests correctly. 3. Are there any known issues with specific backend configurations (like Nextcloud AIO with its internal Caddy/Apache setup) that could cause Pangolin to return 404 despite the backend being accessible? ## Additional Context The backend (Nextcloud AIO) configuration hasn't changed. The issue affects only this one target while all other proxied services to the same backend continue working normally. This suggests something specific about how Pangolin routes this particular domain/target combination, but with no errors in logs, it's difficult to diagnose. ### Environment - OS Type & Version: Fedora Server 43 (but Ubuntu 24.04LTS had same problem) - Pangolin Version: 1.12.2 - Gerbil Version: 1.2.2 - Traefik Version: 3.6.2 - Newt Version: 1.6.0 - Olm Version: NONE ### To Reproduce Just try to reverse-proxy Nextcloud AiO Apache container. ### Expected Behavior Access Nextcloud dashboard
Author
Owner

@lakemike commented on GitHub (Nov 21, 2025):

I believe I have the same issue. This may be due to a recent update, because the issue is new. Could it have to do with memory consumption? I note that I see a rather huge memory consumption of "node", i.e. more than 20GB.

<!-- gh-comment-id:3564208392 --> @lakemike commented on GitHub (Nov 21, 2025): I believe I have the same issue. This may be due to a recent update, because the issue is new. Could it have to do with memory consumption? I note that I see a rather huge memory consumption of "node", i.e. more than 20GB.
Author
Owner

@nkkfs commented on GitHub (Nov 22, 2025):

It can be caused by this to be honest becouse I've used Nextcloud in this setup last few months and it was completly fine. Thank you for your contribution to this issue.

<!-- gh-comment-id:3565846362 --> @nkkfs commented on GitHub (Nov 22, 2025): It can be caused by this to be honest becouse I've used Nextcloud in this setup last few months and it was completly fine. Thank you for your contribution to this issue.
Author
Owner

@nkkfs commented on GitHub (Nov 22, 2025):

This is indeed a Pangolin problem. I spent several days trying to fix it, without success. I came across a post somewhere where someone else had the same problem with an older version, only with all resources. They recommended rolling back to 1.11.0, so I tried that, but I got an SQLite error, so I decided to do a clean install of the above version. Nextcloud, which wasn't working before, now works without any problems.

<!-- gh-comment-id:3566830353 --> @nkkfs commented on GitHub (Nov 22, 2025): This is indeed a Pangolin problem. I spent several days trying to fix it, without success. I came across a post somewhere where someone else had the same problem with an older version, only with all resources. They recommended rolling back to 1.11.0, so I tried that, but I got an SQLite error, so I decided to do a clean install of the above version. Nextcloud, which wasn't working before, now works without any problems.
Author
Owner

@Nycpk commented on GitHub (Dec 20, 2025):

This is definitely a Pangolin issue. I had to install a NPM instance to get one of my Nextcloud installs to work again. The 1.13.1 version of Pangolin breaks some Nextcloud installs. I have 2 Nextclouds going thru pangolin and this issue is only affecting one of them.

<!-- gh-comment-id:3677328568 --> @Nycpk commented on GitHub (Dec 20, 2025): This is definitely a Pangolin issue. I had to install a NPM instance to get one of my Nextcloud installs to work again. The 1.13.1 version of Pangolin breaks some Nextcloud installs. I have 2 Nextclouds going thru pangolin and this issue is only affecting one of them.
Author
Owner

@nkkfs commented on GitHub (Dec 20, 2025):

Im currently stick with Nextcloud Hub 25 Autumn (32.0.2) and Pangolin v1.12.3. I don't want to jinx it, but everything has been working as it should for quite some time now.

<!-- gh-comment-id:3677775088 --> @nkkfs commented on GitHub (Dec 20, 2025): Im currently stick with _Nextcloud Hub 25 Autumn (32.0.2)_ and _Pangolin v1.12.3_. I don't want to jinx it, but everything has been working as it should for quite some time now.
Author
Owner

@Joloxx9 commented on GitHub (Dec 21, 2025):

I am having same issue.

<!-- gh-comment-id:3678904523 --> @Joloxx9 commented on GitHub (Dec 21, 2025): I am having same issue.
Author
Owner

@l3pr-org commented on GitHub (Jan 11, 2026):

I don't have permissions, but this issue should be reopened. I am experiencing the same issue on the latest versions of Pangolin (1.14.1) and Newt (1.8.1).

<!-- gh-comment-id:3734165849 --> @l3pr-org commented on GitHub (Jan 11, 2026): I don't have permissions, but this issue should be reopened. I am experiencing the same issue on the latest versions of Pangolin (1.14.1) and Newt (1.8.1).
Author
Owner

@l3pr-org commented on GitHub (Jan 17, 2026):

Messed around with this for a couple hours and got a new error code. Now, Pangolin serves a page with the text:
no available server.

<!-- gh-comment-id:3762837368 --> @l3pr-org commented on GitHub (Jan 17, 2026): Messed around with this for a couple hours and got a new error code. Now, Pangolin serves a page with the text: `no available server`.
Author
Owner

@mihaiserban92 commented on GitHub (Jan 17, 2026):

check this out.

  • i am on pangolin 1.14.0. i set up 192.168.30.112 with debian 13 and docker and installed aio. i used official docker compose file and only enabled environment and apache port 11000, talk port and skip domain validation in the compose file. after compose up command i can access 192.168.30.112:8080, no issues.

  • i install everything, set my proxy entry in pangolin with 192.168.30.112:11000 and when install is finished and i try to go to my nc url i get the no available server error.

  • i stop all containers from aio page, docker compose down for main container then i go to pangolin and set my url to 192.168.30.112:8080 to get to AIO page through pangolin.

  • i browse to aio through url, start containers, when everything is up, i go to pangolin, i change port to 11000 for apache, save my entry, then refresh. to my surprise not only is it healthy now BUT I CAN ACTUALLY BROWSE TO IT!!

did this with 3 installs, seems to do the trick each time. maybe someone can find this useful.

<!-- gh-comment-id:3764206367 --> @mihaiserban92 commented on GitHub (Jan 17, 2026): check this out. - i am on pangolin 1.14.0. i set up 192.168.30.112 with debian 13 and docker and installed aio. i used official docker compose file and only enabled environment and apache port 11000, talk port and skip domain validation in the compose file. after compose up command i can access 192.168.30.112:8080, no issues. - i install everything, set my proxy entry in pangolin with 192.168.30.112:11000 and when install is finished and i try to go to my nc url i get the no available server error. - i stop all containers from aio page, docker compose down for main container then i go to pangolin and set my url to 192.168.30.112:8080 to get to AIO page through pangolin. - i browse to aio through url, start containers, when everything is up, i go to pangolin, i change port to 11000 for apache, save my entry, then refresh. to my surprise not only is it healthy now BUT I CAN ACTUALLY BROWSE TO IT!! did this with 3 installs, seems to do the trick each time. maybe someone can find this useful.
Author
Owner

@l3pr-org commented on GitHub (Jan 21, 2026):

check this out.

* i am on pangolin 1.14.0. i set up 192.168.30.112 with debian 13 and docker and installed aio. i used official docker compose file and only enabled environment and apache port 11000, talk port and skip domain validation in the compose file. after compose up command i can access 192.168.30.112:8080, no issues.

* i install everything, set my proxy entry in pangolin with 192.168.30.112:11000 and when install is finished and i try to go to my nc url i get the no available server error.

* i stop all containers from aio page, docker compose down for main container then i go to pangolin and set my url to 192.168.30.112:8080 to get to AIO page through pangolin.

* i browse to aio through url, start containers, when everything is up, i go to pangolin, i change port to 11000 for apache, save my entry, then refresh. to my surprise not only is it healthy now BUT I CAN ACTUALLY BROWSE TO IT!!

did this with 3 installs, seems to do the trick each time. maybe someone can find this useful.

With some tweaking, and a full reinstall of AIO (pruning all volumes and containers) this worked for me!

<!-- gh-comment-id:3775565877 --> @l3pr-org commented on GitHub (Jan 21, 2026): > check this out. > > * i am on pangolin 1.14.0. i set up 192.168.30.112 with debian 13 and docker and installed aio. i used official docker compose file and only enabled environment and apache port 11000, talk port and skip domain validation in the compose file. after compose up command i can access 192.168.30.112:8080, no issues. > > * i install everything, set my proxy entry in pangolin with 192.168.30.112:11000 and when install is finished and i try to go to my nc url i get the no available server error. > > * i stop all containers from aio page, docker compose down for main container then i go to pangolin and set my url to 192.168.30.112:8080 to get to AIO page through pangolin. > > * i browse to aio through url, start containers, when everything is up, i go to pangolin, i change port to 11000 for apache, save my entry, then refresh. to my surprise not only is it healthy now BUT I CAN ACTUALLY BROWSE TO IT!! > > > did this with 3 installs, seems to do the trick each time. maybe someone can find this useful. With some tweaking, and a full reinstall of AIO (pruning all volumes and containers) this worked for me!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#2040