Skip to content
Lily Wang edited this page Jun 14, 2020 · 31 revisions

We have our own domain mdanalysis.org (registered with GoDaddy; @orbeckst is responsible for paying and administrating the domain). We set up a custom domain with GitHub pages so that our website is hosted as GH pages but appears under our domain, specifically as https://www.mdanalysis.org and https://mdanalysis.org. We use CloudFlare to secure the website and to improve performance (@orbeckst registered the account).

Security on CloudFlare

The nameservers are under Cloudflare's control (since 2017-09-28) so that we get a free SSL certificate and can have website and docs appear under SSL, i.e., https://mdanalysis.org (following the instructions from @gsempe: Build a fast, secured and free static site in less than 3 hours). DNSSEC was also enabled (by following the Cloudflare instructions for How to add a DS record to GoDaddy).

SSL is not enforced (and in fact, the previously established subdomain forwarding only works unecrypted at the moment).

There are other implications due to using CloudFlare: CloudFlare acts as reverse proxy and all traffic to our sites is routed through their network (which likely screws up analytics unless one restores original visitor IPs). It provides caching and even static cache pages when the downstream resources are not accessible. It also provides some firewalling and protection against DDoS attacks (although this is not really our concern because we do not host any of our servers ourselves).

Repository urls

This has the additional effect that GH pages in repositories under MDAnalysis will also show up under our domain. Any tool that has its own repo (such as RotamerConvolveMD) can also have it's own docs such as http://www.mdanalysis.org/RotamerConvolveMD (one just has to craft the gh-pages branch carefully so that the index.html file appears at the top of the repo).

Subdomains and subdirectories

MDAnalysis used to have its documentation at three URLs:

URL Repo name Description
mdanalysis.org/docs docs Docs for the latest release of MDAnalysis
mdanalysis.org/mdanalysis mdanalysis Docs for the dev version of MDAnalysis
mdanalysis.org/UserGuide UserGuide User guide

As of June 14 2020, however, we moved these subdirectories to subdomains and added versioning, removing the need for the docs repo:

URL Repo name Description
docs.mdanalysis.org/$version mdanalysis Docs for all versions of MDAnalysis
userguide.mdanalysis.org/$version UserGuide User guide

GitHub's existing <organisation_name>/<repo_name> URL framework means that https://mdanalysis.org/mdanalysis redirects to https://docs.mdanalysis.org, and likewise for the user guide. However, the most sensible destination for https://docs.mdanalysis.org/ is to redirect to https://docs.mdanalysis.org/latest (i.e. the latest release). This poses a problem for the legacy urls of https://mdanalysis.org/docs and https://mdanalysis.org/mdanalysis; https://mdanalysis.org/docs no longer needs to exist, and https://mdanalysis.org/mdanalysis will redirect to the latest release docs via https://docs.mdanalysis.org/ .

We can use Cloudflare Pagerules redirecting to forward a specific subdirectory to a specific subdomain, and vice versa. For example, https://docs.mdanalysis.org used to forward to https://www.mdanalysis.org/docs.

However, on the free plan we only have 3 free rules available. (+5 rules is $5/month!)

Existing subdomain forwards

subdomain url target target url real host
docs (currently off) https://docs.mdanalysis.org release docs https://www.mdanalysis.org/docs/ GitHub (CloudFlare PageRule)
workshop https://workshop.mdanalysis.org Workshop/Hackathon 2018 https://www.mdanalysis.org/WorkshopHackathon2018/ GitHub (CloudFlare page rule)
www https://www.mdanalysis.org home page https://mdanalysis.github.io GitHub (CNAME)
`` https://mdanalysis.org home page https://mdanalysis.github.io GitHub (CloudFlare page rule)

And of course, https://mdanalysis.org and https://www.mdanalysis.org are the MDAnalysis GitHub-Pages.

Clone this wiki locally