mirror of
https://github.com/binwiederhier/ntfy.git
synced 2026-05-09 08:26:00 +02:00
[GH-ISSUE #1644] Unable to publish poll request - Forbidden #1147
Labels
No labels
ai-generated
android-app
android-app
android-app
🪲 bug
build
build
dependencies
docs
enhancement
enhancement
🔥 HOT
in-progress 🏃
ios
prio:low
prio:low
pull-request
question
🔒 security
server
server
unified-push
web-app
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ntfy#1147
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Maathias on GitHub (Mar 8, 2026).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1644
🐞 Describe the bug
I'm hosting ntfy in docker, on a small vps. It's set up to use upstream-url for iOS notifications. Recently they stopped working, I'm constantly getting
Unable to publish poll requestI tried adding a token, but that didn't help. I tried replaying the request, captured via mitmproxy, and here is where I'm getting totally lost.
When using the proxy hosted on a different host with different IP, request goes through. My first thought is - my vps is blocked by ip.
BUT, when i replayed the same request via curl on the vps, it also goes through. Both via ipv6 and ipv4. I tried fuzzing the id/topic, still 200 OK. Same when replaying from inside the container. Seems like only ntfy has this issue, and only then calling ntfy.sh directly
I think I've run out of things to debug, help appreciated.
💻 Components impacted
ntfy server, and iOS app
💡 Screenshots and/or logs
Error from docker logs
Same request that casues errors, replayed in shell on the same host
docker-compose.yml
server.yml
🔮 Additional context
@binwiederhier commented on GitHub (Mar 8, 2026):
This is most curious. If you provide the topic hash (or a part of it) to me, I can look on the ntfy.sh logs.
@Maathias commented on GitHub (Mar 8, 2026):
Here is the last half of it
dcc0a90e0454dea288f7a538edf6cff2@binwiederhier commented on GitHub (Mar 8, 2026):
I looked at the logs and I see once recent instance of a 401. How often does it happen? You are certain the token is correct?
It is more curious because the success and 401-failure are only seconds apart.
I cannot think of a legitimate reason why this would be the case.
Claude suggests a sqlite blip:
@Maathias commented on GitHub (Mar 8, 2026):
It still happens now, for every request. The token is correct, but it seems to not be used in the container, Published Messages on the account page is not changing. Config is still the same as above. Here are two tries I did just now
@binwiederhier commented on GitHub (Mar 8, 2026):
Just to be sure: The
upstream-access-tokenis a token from thentfy.shserver, right? i.e. you made an account on ntfy.sh with a username and you are using a token that you generated on ntfy.sh/account. Using a token from your selfhosted server would lead to 401s.The
upstream-access-tokenis meant to allow you to send more than 250 pushes to your phone if you have a paid ntfy.sh account. Otherwise setting it has no impact.@Maathias commented on GitHub (Mar 8, 2026):
Yup, also just tried creating a new one, no luck
@Maathias commented on GitHub (Mar 8, 2026):
This really seams like an issue with the way docker sends the requests, i just did again the manual curl on the same machine, just the topic hash and poll-id, no token. 200 OK, iphone gets a notification
While reading some of the issues here, I saw someone had an issue with the MTU on hetzner hosting (#1003). The vps is the free tier of https://mikr.us/, which I belive is an LXC on mikrus' VM on hetzner. Maybe it's something related to this?