Skip to content

http interface unusable when fronted with https load balancer

My current setup:

I have an nginx load balancer fronting a vlc server (daemon) running on my Raspberry pi. I'm trying to use https for this setup, meaning hitting https://vlc.mydomain.duckdns.com, trying to use the enabled http interface.

When using Chrome, I noticed that the js resources are being blocked, as they are being requested with https (as opposed to https). Here's the link to the explanation given by google: https://support.google.com/chrome/answer/99020?p=unauthenticated&visit_id=636731593571305897-2546856639&rd=1#content This makes the http interface unusable. Buttons don't work.

Looking at the code, it seem like there are a few html pages under lua/http which refer three js files: jquery.min.js, jquery-ui.min.js and flowplayer-3.2.6.min.js. Those files are being referred to with http:// hard coded. When I modified the scheme to https - everything was working perfectly.

A suggestion is for the http scheme to be parameterized in those html files - but I'm not familiar enough with the codebase in order to suggest how exactly to infer this.

System information: OS: $ uname -a Linux raspberrypi 4.14.54-v7+ #1126 (closed) SMP Wed Jul 11 20:01:03 BST 2018 armv7l GNU/Linux

$ vlc --version VLC media player 2.2.6 Umbrella (revision 2.2.6-0-g1aae78981c) VLC version 2.2.6 Umbrella (2.2.6-0-g1aae78981c) Compiled by root on odroidu2 (Jun 1 2017 15:47:33) Compiler: gcc version 6.3.0 20170415 (Raspbian 6.3.0-14+rpi1)

Hardware: Raspberry pi 3 B+

Logs don't show the problem

Reproduces every time I reload the page. When I replace the http links for the js resources to https - everything works great.

Video link: https://www.youtube.com/watch?v=ImTSNu3Pc0M

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information