As it happens, I've got a couple of merge requests open to add HTTPS-only support to GitLab Pages.<p>If anybody is interested:<p>Rails: <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16273" rel="nofollow">https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16273</a><p>Go: <a href="https://gitlab.com/gitlab-org/gitlab-pages/merge_requests/50" rel="nofollow">https://gitlab.com/gitlab-org/gitlab-pages/merge_requests/50</a>
I've done similar setups. I highly recommend just using Cloudflare or Netlify instead. Unless you have an actual business reason, or love owning everything in the stack.<p>The headache of managing this yourself adds up, things break, things update, etc.
For static sites hosting on AWS S3 is super cheap, plus with Cloudfront CDN in front you can be sure your site is being delivered to the user by a server near him. It's not 100% free but still very cheap for static websites[1]<p>[1] <a href="https://medium.com/@sbuckpesch/setup-aws-s3-static-website-hosting-using-ssl-acm-34d41d32e394" rel="nofollow">https://medium.com/@sbuckpesch/setup-aws-s3-static-website-h...</a>
Another option, similar to some of the top-level comments suggesting Cloudflare with GitHub pages, is to use Cloudflare's long-lived internal origin certificate on GitLab and Cloudflare's public externally-valid certificate for end-users.<p>Although I have to admit to not actually having set that up yet: it's on my to-do list for a personal site that's in-progress this week.
What I did was a more customized version of that, I made a .gitlab-ci.yml file which easily lets you run any scripts of your own to build, with the same end result. Using gulp I had it run in development mode by default with watchers and verbose outputs, yet in the ci file I called a production build that polished everything up. For the front end side, I used pug, sass and babel with a few other js things to make a templating system, which really helped me understand site structures.
I suppose <a href="https://neocities.org/" rel="nofollow">https://neocities.org/</a> could qualify for the author's ideal alternative.
If you do use jekyll and gitlab, I made this jekyll plugin that does it for you (if you'd rather have something in-ecosystem than an npm package) -> <a href="https://github.com/JustinAiken/jekyll-gitlab-letsencrypt" rel="nofollow">https://github.com/JustinAiken/jekyll-gitlab-letsencrypt</a>
As another commenter has mentioned, Netlify is fantastic. It takes care of everything and migration is painless. And the best of all, it's free~<p>This year, one of my goals is to migrate all my Wordpress blogs to Jekyll and host them on Netlify. I'm almost done with 2/3rds of them and couldn't be happier. Highly recommended.
You can use Full SSL on CloudFlare with GitHub Pages, which is end to end.<p><a href="https://blog.cloudflare.com/secure-and-fast-github-pages-with-cloudflare/" rel="nofollow">https://blog.cloudflare.com/secure-and-fast-github-pages-wit...</a>
If i read free i mean free as in everything, but it seems you already need to have your own custom domain name. Meaning your own domain. Or did i miss something?
Please don't teach people how to centralize the web around a service that isn't even supposed to be used for personal web pages [1].<p>[1] - "We offer Pages sites primarily as a showcase for personal and organizational projects." <a href="https://help.github.com/articles/github-corporate-terms-of-service/" rel="nofollow">https://help.github.com/articles/github-corporate-terms-of-s...</a>