MikeJones here's the redirect flow when you access https://seekadventure.net/
:
$ curl -I https://seekadventure.net/
HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.3 (Ubuntu)
Date: Sat, 05 Jan 2019 13:13:33 GMT
Content-Type: text/html
Content-Length: 194
Connection: keep-alive
Location: http://www.seekadventure.net/
Strict-Transport-Security: max-age=2592000; includeSubDomains; preload
$ curl -I http://www.seekadventure.net/
HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.3 (Ubuntu)
Date: Sat, 05 Jan 2019 13:14:04 GMT
Content-Type: text/html
Content-Length: 194
Connection: keep-alive
Location: https://www.seekadventure.net/
However your browser will skip http://www.seekadventure.net/
and use https://www.seekadventure.net/
right away after the first redirect because you're serving an HSTS header telling the browser to always use HTTPS on your website.
If you inspect the "network" tab of your browser you will still see that the http://
url is returned in the Location
header of the first response. It's a bit easier to see with a command line utility like curl
as I did above.
Browsers without HSTS support will go through the 2 redirects and the connection could get hijacked when hitting http://www.seekadventure.net/
.
I see you added the HSTS preload
flag but you can see https://hstspreload.org/ itself refuses to preload it because you're serving that insecure redirect, and your max-age also does not qualify for preload 😉