Xibo with reverse proxy

Hello,

i am using xibo on ubuntu with a reverse proxy. The client can connect to the server, but the download of the files isnt working. I am receiving invalid format. I followed the instruction and i also do have a second installation up and running which works fine.

Player version: 2r255.3

Error log from my client:
2020-09-11 11:29:17ScheduleManagerThreadScheduleManager - LoadNewScheduleLayout invalid: 132
2020-09-11 11:29:07ScheduleManagerThreadScheduleManager - LoadNewScheduleLayout invalid: 1
2020-09-11 11:29:07ScheduleManagerThreadScheduleManager - LoadNewScheduleLayout invalid: 122

Apache Reverse Proxy configuration:
<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html


    RedirectMatch permanent /(.*) https://URL/$1
DocumentRoot /var/www/html ServerName URL
    RequestHeader set X-Forwarded-Proto "https"

    ProxyPreserveHost On

    ProxyPass / http://dummyIP:80/ retry=0 timeout=5
    ProxyPassReverse / http://dummyIP:80/

    SSLEngine On
    SSLCertificateFile /dummypath
    SSLCertificateKeyFile /dummypath

Hopefully anyone do have a hint what i should check in order to ensure a successful download of the files.

I don’t think it’s your issue, but you shouldn’t have your reverse proxy redirect http to https traffic. You should proxy both to the CMS and allow it to redirect (by enabling the Force HTTPS option in the main CMS settings, and/or in the Display Settings Profile).

5 seconds is a really low timeout. There’s lots of things the CMS does that will take alot longer than 5 seconds, so I wouldn’t suggest setting it that low. I would let the CMS dictate the timeouts.

Hello Alex,

thank you for the hint.
However i still receive an error on the client. This is the log output maybe you know what the issue is here.

Hello,

i reconfigured apache and cms now. And i am receiving only layout invalid messages. I am not sure why it is not working, because the display resolution seems to be fine.

Any idea on this?

Thanks!

Hello,

I keep getting the same errors. The server report with error 404 not found, in web exception run.


I included my apache configuration, which works fine, because i can access with https from external without any problem.
Also my clients can connect with xmr via port 9505 but the download runs in the 404 error.
Moreover after a short period i receive: “Thead Woken and Lock Obtained”

Thanks Marcel

I would put a Display in to Audit mode, and look at the XML that is generated for the RequiredFiles call. That will show you what the CMS is giving the Players in terms of a URL to download the file from.

If that’s wrong, then the host header is not being passed through properly.

Thank you for the hint.
I compared our installations and you are right i receive a different error code if i copy the link in the browser. Seems like something went wrong with the url in the requiredfiles. Where can i change it or what do i need to change ?

Thanks!

You’d expect the URL to start the same as the URL the Player is set to connect to. So for example, if the CMS was at

https://cms.example.org

Then you’d expect the download links for the Players to start with https://cms.example.org as well.

If they start with something different (for example http://127.0.0.1 is the most common), then the Host header isn’t being passed through and that is the root of your problem.

If they do start the same, then I’m not sure without seeing it what the issue might be. It would be worth checking same files download from the Library page of the CMS as expected.

Hi Alex,

Once again thank you for the fast reply.
The URL is correct on the clients. However i just tested the download directly in library-media -> this doesnt work. I guess that there is a general problem with passing through my download media.
I guess that i configured something wrong in xibo itself.
I setup xibo & apache with this guide: https://xibo.org.uk/docs/setup/xibo-cms-with-docker-on-ubuntu-18-04
Do i need to add something in the apache configuration to get the traffic passed through? I already created a wireshark trace file, to see if there are any answers from the server, which are.

I also searched in the forum if there is somebody else with the same problem, but wasnt lucky enough to find some.

Thanks!

So if you can’t download the files at all, then that implies they probably aren’t there on disk.

If you upload a file to the CMS, does it appear in the shared/cms/library directory as you’d expect?

I just uploaded a file to test everything. Upload works fine, it is also on the disk in the named library. Also the link which i receive seems to be fine, since the other installations create the same.
However i cant download the file anyway. I rechecked the apache configuration and comprade the proxy settings. No difference.
Any ideas what i can check next?

If the file is there on disk, but you can’t download it from the library page then it suggests that perhaps the SENDFILE_MODE setting in the database is wrong. For a Docker install it should be set to Apache, but perhaps you’ve somehow set it to Nginx?

By default it’s hidden in the CMS Settings, so you’d have to look in the setting table of the database.

Thanks Alex,

the sendfile_mode was not correct.
Now everything is up and running.

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.