mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-24 07:30:57 +01:00
nginx reverse proxy - basic auth not passed to video url (android chrome webbrowser) #541
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#541
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 @dedwardsdale on GitHub (Mar 24, 2019).
Describe the bug
When using the Android Chrome web browser to access an installation that is hosted behind an nginx reverse proxy with basic auth, the video files do not play.
Everything else appears to work - dashboard, settings etc.
To Reproduce
Expected behavior
Video should play
Logs
Screenshots
N/A
System (please complete the following information):
Additional context
I don't know if this is a problem that Jellyfin can fix - googling around it looks like you specifically have to set the basic auth headers in an Android VideoView and I'm not sure if Chrome actually does this:
https://stackoverflow.com/questions/31555875/using-videoview-with-basic-authenticated-urls?rq=1
@JustAMan commented on GitHub (Mar 25, 2019):
As a workaround I can suggest removing http auth for specifical URLs that are used for playing the video (the one you quoted).
@joshuaboniface commented on GitHub (Mar 25, 2019):
I wouldn't even call that a workaround - that would be the proper solution. Putting basic auth in front of a program that includes its own auth is just asking for trouble.
@dedwardsdale commented on GitHub (Mar 26, 2019):
@JustAMan Why didn't I think of that? I will give that a try tonight and check if it leaves open any potential to get to other sections of jellyfin or if that is used only for the streaming component.
@joshuaboniface I don't think this is asking for trouble, nginx is a tried and battle-tested reverse proxy and using it prevents your publicly exposed installation from appearing in tools such as https://www.shodan.io/
Does anyone know if this is an issue jellyfin can fix; or if I should be raising a bug against Chrome for not passing through the basic auth on the VideoView?
@drago-96 commented on GitHub (Apr 3, 2019):
I think that it would be really nice to use basic auth as a possible authentication method: if the REMOTE_USER variable is set to
user123, then Jellyfin should act as ifuser123just entered his password, and start his session/set his cookies.I know this isn't the right solution to authentication, but maybe it's simpler to implement than LDAP/Kerberos/whatever.
@stale[bot] commented on GitHub (Jul 29, 2019):
Issues go stale after 60d of inactivity. Mark the issue as fresh by adding a comment or commit. Stale issues close after an additional 7d of inactivity. If this issue is safe to close now please do so. If you have any questions you can reach us on Matrix or Social Media.