nginx returned 405 for PATCH
A JavaScript client got 405 Not Allowed from nginx on a PATCH that Rails would have accepted. A method allowlist in the nginx config left PATCH out.
My name is Ronnie. I'm a product-minded software engineer, building SaaS products and the infrastructure that runs them.
I live on California's Redwood Coast and have been building software for over 15 years. That work covers code, cloud infrastructure, security, and leading engineering teams.
Currently, you can find me leading engineering efforts as Partner and CTO of KABI Automotive. I also explore the edges of AI at BuildTestRun and share what I'm building and learning on my YouTube channel, Build at Scale. The notes below are where I write down what I build and what breaks.
A JavaScript client got 405 Not Allowed from nginx on a PATCH that Rails would have accepted. A method allowlist in the nginx config left PATCH out.
cap production deploy failed with Net::SSH::AuthenticationFailed while plain ssh worked. My be function had run Capistrano inside a Docker container with no SSH keys.
CloudWatch Logs Insights rejected sort bin(15m) with ‘unexpected symbol’. Name the bin with as, then sort by that name.
An Astro site on Cloudflare Workers needed deploys on push, PR previews and a scheduled rebuild. A build script that ran tsc first, and the smallest API token that worked.
A Homebrew upgrade took Neovim from 0.9.5 to 0.11, which deprecated my lspconfig setup. TypeScript only attached once vim.lsp.enable ran at the top level.
An old side project’s Postgres container refused every connection despite POSTGRES_HOST_AUTH_METHOD: trust. Those variables only apply to an empty data directory.
The app in my container ran as a non-root user, but every ECS Exec shell came up as uid 0. That is how ECS Exec works, so the controls belong in IAM and session logging.