SENDFILE_MODE missing from Settings

I have installed CMS (Docker) 1.8.3 with SSL signed (not self signed)
Both Android and Windows client are able to communicate with the server…
however there are many probes downloading the layouts and content.
i read in many places that i need to set SENDFILE_MODE to Off.
however this settings is missing from the CMS settings -> General as stated in this topic:

i also noticed a test environment with 1.8.2 also missing this settings…

any ideas? can i change this settings without the Web interface?

It might be hidden yes, in 99% cases it should stay that way with the default setting.

Switching it to xmds downloads, will only make it slower and much less reliable, but if you do want to try it, then you sure can.

It will involve database access, please see - How can I run a SQL command when using a Docker Install?

Then you can run the command like this:

UPDATE `setting` SET `value`='Off' WHERE `setting` = "SENDFILE_MODE";

Alternatively you can run (to see the settings in CMS Settings in web ui):

UPDATE `setting` SET `userSee`= 1 WHERE `setting` = "SENDFILE_MODE";

and this one to be able to change the mode in CMS Settings page.

UPDATE `setting` SET `userChange`= 1 WHERE `setting` = "SENDFILE_MODE";

thanks, I have tested “off” mode, however there is no significant change…
players simply do not download content from this server properly…

My Windows_debug player - shows the layout partially, mmissing some text zones there…
the player is in sleep mode and not fetching them any more…

FileAgent_resource_Id_17|02/01/2018 17:04:54|Error|FileAgent - Run|Exception in Run: Unable to get the media resource
UI Thread|02/01/2018 17:03:36|Error|MainForm - PrepareLayout|Unable to set background: C:\Users\user\Documents\Xibo Library\26.png
UI Thread|02/01/2018 17:04:16|Error|MainForm - PrepareLayout|Unable to set background: C:\Users\user\Documents\Xibo Library\26.png
FileAgent_resource_Id_17|02/01/2018 17:06:22|Error|FileAgent - Run|Exception in Run: Unable to get the media resource

Hm, actually most items seems to be downloaded ie 100% next to them.

the resource 17.htm is not downloaded though, what do you have on this layout?

also it seems you have a .png image set as a background, on Windows players you will want to use .jpg as layout background image, it will not show it correctly with other formats.

Do you have any overlapping regions or empty regions on your layout?

the downloading also doesnt not work correctly on Android… although i dont have good way to extract information from it… as its an embedded android…

that’s why i’m using windows…
when connecting the same Windows Player to different 1.8.2 CMS, with the exact same layout i have exported from it it works fine.

trying now different layouts created on this CMS rather than imported…

Setting SENDFILE_MODE off is almost certainly not what you want.

How is your reverse proxy configured? It’s much more likely that it’s not passing through either the Host header, or the X-Forwarded-Proto header, and that is causing download issues.

vhost on the apache reverse link looks like:
i also used revere proxy on port 80, per the documentation, and got the same results…

<VirtualHost 185.37.150.109:443>
    ServerAdmin webmaster@localhost
    UserDir public_html
    DocumentRoot /var/www/html
    ServerName localhost
    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    CustomLog /var/log/httpd/homedir.log homedir
    CustomLog /var/log/httpd/access_log combined
    ErrorLog /var/log/httpd/error_log

    SSLEngine on
    SSLCertificateFile /etc/httpd/conf/ssl.crt/creativelabs.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/creativelabs.key
#    SSLCACertificateFile /etc/httpd/conf/ssl.crt/digicert.crt
    SSLCertificateChainFile /etc/httpd/conf/ssl.crt/digicert.crt
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
    <IfModule !mod_ruid2.c>
        SuexecUserGroup webapps webapps
    </IfModule>
</VirtualHost>

You probably want to set SENDFILE_MODE back as it was originally, and then in your Apache configuration set

RequestHeader set X-Forwarded-Proto "https"

In there too, near the ProxyPreserveHost line - above or below is fine.

Once you’ve changed that, restart Apache. Back in the CMS, go to your Modules page and click on “Verify All”. Then finally edit your Display record in the CMS, and save making no changes.

Then restart your Player and see if the files download.

Done,
My Windows Player still getting "Unable to get media resources on the 20.html file to download.

my new vhost configuration:

<VirtualHost 185.37.150.109:443>
    ServerAdmin webmaster@localhost
    UserDir public_html
    DocumentRoot /var/www/html
    ServerName localhost
    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    CustomLog /var/log/httpd/homedir.log homedir
    CustomLog /var/log/httpd/access_log combined
    ErrorLog /var/log/httpd/error_log

    SSLEngine on
    SSLCertificateFile /etc/httpd/conf/ssl.crt/creativelabs.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/creativelabs.key
#    SSLCACertificateFile /etc/httpd/conf/ssl.crt/digicert.crt
    SSLCertificateChainFile /etc/httpd/conf/ssl.crt/digicert.crt
    RequestHeader set X-Forwarded-Proto "https"
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
    <IfModule !mod_ruid2.c>
        SuexecUserGroup webapps webapps
    </IfModule>
</VirtualHost>

So I think SENDFILE_MODE has nothing to do with your error.

You need to look in the CMS logs and see why it’s saying resource 20.html can’t be downloaded. It could be something like a mis-configured Ticker that’s returning no results for example. Or you might have missed entering API details for one or more services in the Module configuration section.

Start with a simple layout, with one region, with an image in it. Does that show correctly? If so, build up to the layout you have now and see where it stops working.

thanks, so indeed now default layout seems to work fine, inlcuding other “simple” layouts - so the RequestHeader line did something afterall…

so it seems i have problems with tickers (RSS), once removing it, the layout download sucessfully.
i also noticed that the ticker doesnt appear in the layout preview and preview in-place of the window either.
i guess these are related…

14341	6fd0aa6	2018-01-03 07:17	WEB	GET	ERROR		/playlist/widget/resource/13/20	Unable to get feed: Operation timeout
14340	81583cd	2018-01-03 07:17	WEB	GET	ERROR		/playlist/widget/resource/13/20	Request failed for dataSet id=0. Widget=20. Due to No Records Found

Here is some debug from the CMS:
CMS_Log.pdf (123.7 KB)

It’s unable to download that RSS feed. The DNS lookup succeeds, but the download times out.

Perhaps a firewall or similar is preventing the container accessing the internet?

Probably, When i login into the Web Container (using “docker -ti” ), i have no Ping to Google.com not 8.8.8.8…
I assume i should get one?

Does your network block outbound DNS requests perhaps?

If so, you’ll need to configure Docker to use your local DNS server:

Clearly, adjust the values for the DNS server to be the correct ones for your network.

Brilliant!!!
that indeed fixed the problem…
the daemon.json was created through… there was no such file in this directory!

@Alex, thanks a lot!

1 Like