It's the same thing in different words. Proof:
$ wget "https://bbs-joomla4.co.uk" -O /dev/null
--2023-01-24 20:07:17-- https://bbs-joomla4.co.uk/
Resolving bbs-joomla4.co.uk (bbs-joomla4.co.uk)... 185.151.30.176
Connecting to bbs-joomla4.co.uk (bbs-joomla4.co.uk)|185.151.30.176|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:18-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:19-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:19-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:19-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:19-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:19-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:19-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
--2023-01-24 20:07:19-- https://bbs-joomla4.co.uk/
Reusing existing connection to bbs-joomla4.co.uk:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://bbs-joomla4.co.uk/ [following]
20 redirections exceeded.
Enabling the HSTS feature redirects from HTTP to HTTPS. This requires the server to correctly report when the site is being used under HTTPS. If this is not reported correctly, or at all, you will get a perpetual redirection. Exactly what we see above.
Why does the server NOT report correctly if it's being accessed over HTTPS? I will venture a guess. It appears to me that they have a setup of CDN --> SSL terminator --> web server. In this case the SSL terminator accesses the web server over plain old HTTP as it handles the "S" part of HTTPS itself. In this case the web server MUST be set up so that the HTTPS environment variable is always set to on, otherwise the software running on the web server does not (can not!!) know it's running under HTTPS.
By the way, I am not speaking out of my ass here. I have a private server running Expose and Matrix Synapse as their own, HTTP-only servers with NginX in front of them acting as the SSL terminator (and, yes, I know that NginX is a “poor man's” SSL terminator, but I had my reasons). If I put a CDN in front of it, e.g. CloudFlare (because I am a cheap bastard when it comes to an internal server), I'd basically have your setup. Key difference here? I make sure that NginX sets the HTTP header X-Forwarded-Proto https
which is caught by a special plugin I've written for the sites served over Expose to let them know they are being accessed over HTTPS. That is to say, I am fully aware of the non-standard environment and have taken it into account in the way I deploy these sites. It's no longer a stock, off-the-shelf CMS, it's halfway into a bespoke application.
A general purpose host cannot reasonably assume that its clients will have this kind of deep understanding. They are going to be using stock, off-the-shelf, mass distributed application such as Joomla, WordPress, Drupal, PrestaShop, or Magento which have to run on a multitude of environments and cannot make assumptions about the environment — they have to get signals which tells them what the heck is going on. This host's setup assumes that whoever uses it will know how this kind of setup works (even if they have never explicitly said that they use this kind of non-standard setup!), how the off-the-shelf software works under the hood, and how to make these two work with each other using bespoke code OR they expect their clients to only use this hosting service to deploy bespoke Laravel- or Symfony-based applications where you can bake assumptions into the application's tailored code. The former is unrealistic. The latter only makes sense if you want to spend dozens of thousands of Pounds every year to host a bespoke application meant to serve hundreds of concurrent visitors.
Is it too late to switch hosts? It doesn't sound like the host you have matches your expectations or the reality of the site you are developing.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!