Geeking up with SSL and IPv6

In an attempt to keep our geek status cred relevant, recently we enabled both SSL security and IPv6 on the blog. Dreamhost (our hosting provider) facilitates both of these options quite smoothly Рboth are (mostly) just a few dashboard panel clicks away.

SSL security is the little green box or lock icon in your web browser, which you’ve likely come to expect when logging into your banking site or other sensitive service. Our motivation to add this is to allow secure viewing of our pervy content, where prying eyes of an open wireless cafe may be a concern.

IPv6 is a “next generation Internet Protocol”, which in non-technical speak essentially means that every server (this web site) and client (your computer or mobile) has a unique IP address. The traditional version 4 protocol only supported a limited number of these addresses (remember that the Internet was originally envisioned as a US specific network to stay available in case of nuclear¬†attack – the original design criteria was never meant to scale all around the world). IPv6 significantly increases the pool size of these address, most major content providers (Facebook, Google, Netflix, etc) all support IPv6 natively today. Again, these are both super geeky technical jargon – but the end result is more secure browsing and greater network access.

For others who want to reproduce this, here’s the basic steps:

  • Request an IPv6 address (FREE!), following Dreamhost blog IPv6 announcement.
  • Request an SSL certificate ($15/yr), under the Domains – Secure Hosting – Secure Certificates panel.
  • Update all WordPress generated links to start with HTTPS, instead of HTTP – see convert links forum post.
  • Search and replace existing blog posts to use new HTTPS url, first retrieve database credentials:
# grep DB_
define('DB_NAME', 'kt_blog6');
define('DB_USER', 'kt_blog6_user');
define('DB_PASSWORD', '32fa798d0139f'); # Not our actual password, k thx
define('DB_HOST', '');
  • Login to database with above credentials:
# mysql -u kt_blog6 --password=32fa798d0139f -h kt_blog6
  • Find table containing blog entries:
mysql> SHOW TABLES LIKE '%posts';
| Tables_in_kt_blog6 (%posts) |
| wp_hpnb5m_posts |
  • Change all entries URL and image links to HTTPS
mysql> UPDATE wp_hpnb5m_posts SET post_content = replace(post_content,'','');
Query OK, 78 rows affected (0.01 sec)
Rows matched: 264 Changed: 78 Warnings: 0

Leave a Reply

Your email address will not be published. Required fields are marked *