Published September 5th, 2012

Upgrades:

  • FreeBSD on Cloud Servers: This site is now being served from a Rackspace Open Cloud Server running FreeBSD 9. This includes using a PF firewall, ZFS root, etc.
  • HTTPS: The site now supports HTTPS. Sensitive business here on the blog ya know.
  • SPDY: Powered by node-spdy, the site is now available over HTTPS with the SPDY protocol.
  • IPv6: All new Rackspace Cloud servers include IPv6, so I’ve went ahead an added an AAAA record.
  • 100% Static: I migrated a few months ago to a Jekyll based blogging system.
  • Monitoring: I’m checking if the site is up using Rackspace Cloud Monitoring, both over IPv4 and IPv6.

Details:

  • /etc/pf.conf: Allow inbound ports 22, 80 and 443, allow all outgoing.
  • /etc/sysctl.conf: Sets net.inet.ip.portrange.reservedhigh to 0, letting non-root users bind to ports bellow 1024. This lets me run my Node.js server without root, and without needing to figure out dropping privileges later, mostly because I’m being lazy and its my blog.
  • Node.js Server: Binds to both IPv4 and IPv6, HTTPS/SPDY and HTTP, and a few simple redirects. I’m logging to stdout, and using runit to keep it up.
  • Node.js from Ports: At first I was going to compile Node.js from scratch, but then I noticed that the FreeBSD ports collection provides it, and was pleasantly surprised to see it is well maintained — so I went with using it.
  • ZFS Root: I haven’t setup anything cool with ZFS yet, but I’m thinking about how to do a ZFS Send to Cloud Files.

Written by Paul Querna, CTO @ ScaleFT. @pquerna