Jump to content

ExoPlayerLib non-https requests to port 443


dtbs1234

Recommended Posts

dtbs1234

Sorry but I don't have easy access to the Android client's filesystem

* Browser client works fine. MacOS client works fine.
* Android client can navigate libraries fine, but fails to play music. When attempting to play music, several requests are stopped at the ingress. Ingress logs show:

client sent plain HTTP request to HTTPS port while reading client request headers, client: 10.120.0.7, server: [redacted], request: "GET /emby/Audio/254/un
iversal?[query params redacted] HTTP/1.1", host: "[redacted]:443"


* Ingress logs show successful requests from the device browser (from navigating the library), but failed requests with a user-agent of "Emby/3.1.80 (Linux;Android 11) ExoPlayerLib/2.13.2"

Network setup:
Reverse proxy at mydomain.tld. Http requests to :80 are redirected to :443. Https requests to 443 are forwarded to emby's :8096.

My expected behavior is that after connecting to :443, all requests from the client will use https, even if emby server only sees http requests.

Emby network configuration pane:
Local http port: 8096
Local https port: 8920
Public http port: 80
Public https port: 443
External domain: [mydomain.tld]
No ssl cert path
No cert password
Secure connection mode: Handled by reverse proxy
Enable automatic port mapping: unchecked

Link to comment
Share on other sites

pwhodges

Clients do not redirect this way because there is an RFC (Internet specification) which specifies situations in which redirection is not allowed.  It came up in a thread earlier this week, but I can't find it right now...  You should be fine if the https: is explicitly specified in the client so that redirection is not required.

Paul

  • Like 1
Link to comment
Share on other sites

dtbs1234

Same behavior after deleting server and reconnecting with 'https' specified.

Pwhodges, with https specified there should be no redirect required. (and anyway, clients are completely free to use whatever protocol they like, including a branch around the port number, if scheme is not specified in the URL. Plenty of clients don't even support http 🤯).

I want to reemphasize that the client can navigate the library. So it appears that either the Emby server is setting a host for content location data (in which case, how can I configure it not to. But this seems unlikely when other clients work), or that calls that the client makes via ExoLib don't maintain the same scheme as what's being used everywhere else.

Link to comment
Share on other sites

pwhodges

Hmm. Your setup matches mine, as far as I can see, which works fine playing music on Android - so I'm wondering if there's something in your reverse proxy config that's not quite right.. I don't know Ingress, so I can't help with that (I use Caddy).

Paul

Link to comment
Share on other sites

dtbs1234

Is any Caddy user willing to test something? What happens when you make an http request to its https port?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...