In order to get the development environment on localhost closer to the production environment, I’m using HTTPS on localhost. This helps me with discovering bugs much earlier, which saves a lot of time.

I use the excellent tool mkcert for managing the certificates locally. mkcert is built exactly for this purpose and removes most of the friction.

I regularly use httpie to interact with HTTP servers.

However, httpie doesn’t know about about the certificate authority installed locally by mkcert, so we’ll have to help it a bit.

http --verify="$(mkcert --CAROOT)/rootCA.pem" https://localhost.myapp.org:8443/some/path

Since I don’t want to type that on every invocation, I’ve added it as an alias in .bash_profile.

alias http="http --verify=\"$(mkcert --CAROOT)/rootCA.pem\""

And then I can use httpie as normal

http https://localhost.myapp.org:8443/some/path