-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Security: HTTPS #6
Comments
Also, https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security would be good. |
Now works on Heroku: https://mathdown.herokuapp.com. Custom domain SSL requires $20/month. git push to heroku deploys in 50seconds, to rhcloud in ridiculous 13minutes :-( mathdown.com domain (using it as testbed before switching mathdown.net) is now managed by Cloudflare, CNAMEing to mathdown.herokuapp.com. Cloudflare offers free SSL certs between it and users but "full SSL strict" validation between it and the heroku/openshift backend fails unless the server presents a cert for the custom domain (mathdown.com). Plan: pay for heroku SSL for now, later investigate just running on $5–10 Digital Ocean (deployed with Terraform and/or docker via tutum.co).
|
Forgot to mention wrt initial comment here:
See #57 for more details on moving away from Github pages. |
For the record: any hosting without dedicated IP relies on SNI to present correct cert. |
Comparing free HTTPS config of Heroku vs OpenShift (aka rhcloud) – at their wildcard cert subdomains: |
Yay, https://mathdown.com now works! SSLLabs report: https://www.ssllabs.com/ssltest/analyze.html?d=mathdown.com&s=104.28.6.62 About CloudflareWait, did I just say Cloudflare are doing Man-In-The-Middle? With HTTPS?!? Yes.
They can do that, without asking me, because by controlling my DNS and can "prove" ownership of the domain. So they made deal with a couple CAs to mint certs for them [see https://news.ycombinator.com/item?id=8382335 for discussions]. The cert in my case:
The technical reason I want them to control my DNS is that they provide free DNS with CNAME at the apex. But will I keep them as CDN, or only as DNS?
=> I think I'll disable CF as CDN for now. |
About mathdown.com vs mathdown.net:I started with .com to experiment. Now will get .net certificate, and move .net DNS to Cloudflare. |
Moved .net DNS to cloudflare (still pointing to Github Pages, turned SSL off) |
Got also a *I've been mostly refering to it as Openshift but to be precise Openshift is the (open source) software and RHcloud is the openshift hosting run by RedHat. |
TODO: intelligent redirects (and/or rel=canonical) http->https, and .com -> .net.
good checklist doc for migration to HTTPS: https://docs.google.com/document/d/1oRXJUIttqQxuxmjj2tgYjj096IKw4Zcw6eAoIKWZ2oQ/edit#
|
I flipped mathdown.net DNS yesterday to RHcloud (yay!) but turns out I miscofigured certs:
And similarly:
|
E.g. they appear in `heroku[router]` logs. (#6)
Otherwise RHcloud didn't know the mathdown.{net,com} certs also cover www.mathdown.{net,com} and didn't present them, resulting in mismatched cert errors: > This server could not prove that it is www.mathdown.com; its security certificate is from *.rhcloud.com. (#6)
Just to conclude: https://www.ssllabs.com/ssltest/analyze.html?d=mathdown.net :-) |
Github pages doesn't serve HTTPS with a valid certificate.
P.S. Cloud9 workspaces like https://c9.io/cben/codemirror-mathjax/workspace/demo.html support HTML. Great for editing / sending others a demo, not good enough for the main site.
It's tempting to use
#xyz
(as in Firebase demo) instead of?doc=xyz
,so that secret document ids are not sent in the plain (they'd only be sent to Firebase over https).
But this doesn't really make HTTP hosting OK — a man in the middle can easily inject malicious JS that would leak the document id.
A stronger point is that
?doc=xyz
would be stored on server's log, even with HTTPS. Not sure it's evil, collecting URL-level statistics is standard and useful.What's more important, I want
?doc=xyz
to preserve disting documents having distinct URLs from search engine POV. I'd use/xyz
but then I'd need .htaccess or similar.And I want to use
#heading
for linking to# Heading
inside doc (#5).The text was updated successfully, but these errors were encountered: