Custom SSL on docker - Player wont work

I have implemented Xibo Docker 1.8.3 on Ubuntu server recently. I got it completely working on HTTP. I now want to configure HTTPS, because I run the client behind a domain which already has a certificate.

I followed this tutorial: Xibo 1.8.1 config to force https with own cert
and thought I got it working. I can access my management portal through https :// mydomain. com:8080, where I forwarded port 8080 to port 443 on my xibo-server (forwarding to port 80 results in “ERR_SSL_PROTOCOL_ERROR” on chrome).

I can connect displays (Windows Players) and add them as displays in the management portal, however, they will never load the content they have to show. I get the following error in the client:
Error|CalcMD5|Unable to calc the MD5 because: can’t get access to file: …/12.otf because it’s used by another proces.

But then I noticed that in “RequiredFiles.xml” on the client every path to files is:
http :// mydomain. com:8080/…
instead of
https :// mydomain. com:8080/…

And if I try to go to http :// mydomain. com:8080 I get the following error:
Bad Request
Your browser sent a request that this server could not understand.
Reason: You’re speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
Apache/2.4.18 (Ubuntu) Server at 127 .0.1. 1 Port 443


I also don’t understand why the error above states that Apache runs at 127.0.1.1, since I have never ever inserted that IP anywhere, only 127.0.0.1 sometimes for loopbacks. Looks like a typ-o, but can’t find it anywhere.

When I enable “Force HTTPS” in “Settings > Network” I’m no longer able to do anything in the management portal.

I just don’t know what to try anymore. My feeling is that I need to be able to tell the displays they need to get their media from httpS :// mydomain. com/… instead of http. Buy I don’t know how.

It could be one of a couple of things.

Firstly try clearing the Player cache in the CMS by editing the display, and then saving.

If it’s still showing an HTTP download link in required files, you may need to add extra headers in your reverse proxy.

RequestHeader set X-Forwarded-Proto "https"

Adding that inside your https server definition will tell the CMS to serve HTTPS links.

1 Like

Clearing cache did not work.

Adding
RequestHeader set X-Forwarded-Proto "https"
in <VirtualHost *:443> did the trick. Thanks!