Jump to content

LG client doesn't play videos if I use reverse proxy


Recommended Posts

Posted

I use `caddyserver.com` on my server, and I wanted to setup reverse proxy to benefit from the `https` that caddy provides.

 

let's say my domain is "https://fundays.org",I proxied "fundays.org/emby" to "localhost:8096".

 

on my laptop using the browser, both works fine, the reverse proxy version and the direct one via `http`, both play videos without issues.

 

but on the LG Smart TV client, connecting to the reverse proxy at `https://fundays.org/emby`I can login to Emby and see the files, but when I try to play, I get the playback error "No compatible streams are currently available. Please try again later or contact your system administrator for details."

 

and when I switch to connecting directly to Emby via `http://fundays.org:8096`everything works fine and it plays the videos, so it must be an issue with the LG Smart TV client.

 

I will attach two log files:

- the first one is me running the docker container and opening LG client while it is connected directly via `http://fundays.org:8096`and play an episode of Mozart.

 

- and the second log file is me running the container and opening the LG client while it is already connected to the reverse proxy at `https://fundays.org/emby`,and trying to play the same episode and getting the mentioned error above. hope that will help fix the issue.

 

 

embyserver-direct-connection-to-http.txt

embyserver-reverse-proxy.txt

Posted

Hi, try connecting to the app without the /emby subfolder. The app will handle that automatically.

 

Beyond that I would check and make sure the proxy is not messing with any request or response headers, and request or response bodies. thanks.

  • Like 1
Posted

The /emby is to point the proxy at localhost:8096, / is reserved for something else + it works fine on my laptop. Both the reverse proxy version at /emby and the direct one. So it must be the LG client. Nothing interesting in the logs ?

Posted

Unfortunately no. Lots of people here use reverse proxies successfully so I would think it's got to be related to the proxy configuration. @@pir8radio may have some tips.

  • Like 1
Posted (edited)

well, changing the proxy from /emby to / seems to work, but I still think that the LG client doesn't act like the browse, the browse was able to connect via /emby and /, but the LG wants / only

 

my caddy config was 

proxy /emby localhost:8096

and I changed it to 

proxy / localhost:8096
Edited by Haskell
Posted (edited)

Oh yes I use absolutely use caddy.

A couple of suggestions for the caddy file.

Stir clear if using "localhost" instead use the IP, dunno why, but once you start a larger list of proxies it definitely helps.

You probably also want to make sure there us an endpoint name on your proxy.

 

You can change it to whatever you want, but "/" seems to cause issues with how caddy determines the root of it's server and the proxy... Dunno why.

I use "/emby" and my domain redirects easily.

There are a couple of other caddy file lines I'm going to list here to help secure you endpoint and domain.

One second!

Edited by chef
Posted (edited)
UNITYHOME.ONLINE 192.168.2.95:7654 {

    tls ***********@[member="gmail"].com

    timeouts none
    gzip
    mailout /mailout {

        to              MYEMAIL@[member="gmail"].com
        subject         "Questions about how I coded Alexa Security Services, unityhome.online, or Emby Server Plugins"
        body           email.txt

        username        "MYEMAIL@[member="gmail"].com"
        password        "*********"
        host            smtp.gmail.com
        port            587

        ratelimit_interval 24h
        ratelimit_capacity 100
   }

   proxy /security 192.168.2.104:9920/security/values {
	transparent
	without /security/
   }

   proxy /emby 192.168.2.95:8096 {
	websocket
	transparent
    }

   proxy /tt 192.168.2.104:9921 {
	websocket
	transparent
	without /tt
    }

    # Optional security headers
    header / {
	-Server
	Strict-Transport-Security "max-age=31536000;"
	Referrer-Policy "strict-origin"
	X-XSS-Protection "1; mode=block"
	X-Content-Type-Options "nosniff"
	X-Frame-Options "DENY"	
    }



    # Optional logging
    log EmbyProxy.log

  reauth {
	path /tt
	simple USERNAME=*****  
 }

}

This is what I use for Caddy.

 

It hosts my tech site unityhome.online where I post articles about how cool emby is, or how I proxied my network, or even how I host my very own Alexa Custom Skill Endpoints on my server. 

 

Notice how I use the "/without" parameters when proxing different endpoints.

 

Yours might be:

 

/emby 192.168.X.XXX/emby

without /emby

 

 

I hope I have helped

Edited by chef
  • Like 1
Posted

Thanks @@chef, what a helpful post, much appreciated !

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...