Fixing bugs in legacy or inherited code and server environments.
The migration was successful for the most part, but there were a few issues:
- Their web server wasn't using the AWS-provisioned SSL certificate.
- Their contact form wasn't sending any emails.
- Their website took over 30 seconds to load, and would frequently timeout instead.
Bitnami provides a documented method to provision and renew SSL certificates with LetsEncrypt, so I avoided reinventing the wheel and having to document the process with AWS Certificate Manager.
My default preference for emails sent by WordPress (or any web app for that matter) is to use a dedicated email service. Email is a tricky business, that requires much maintenance and care to ensure deliverability. So I installed the reliable Post SMTP plugin, and provided it with the necessary Amazon SES credentials. Recal was already using SES, so it was a good fit.
After some fruitless digging around the Bitnami container configuration, I ventured a look at the web server access logs (which in retrospect, I should have done first to get an idea of the current load). There I found 16 different machines orchestrating a DDOS attack. I banned the offending IPs and persisted them in a Bitnami-friendly way. Not a permanent solution, but that's what services like Bagelhost are for.