Testing if your site works well on your local machine is always burdensome.
I found a tool that makes it really simple, mkcert:
β localhost-https mkcert -install
Using the local CA at "/Users/.../mkcert" β¨
The local CA is now installed in the system trust store! β‘οΈ
The local CA is now installed in the Firefox trust store (requires browser restart)! π¦
The local CA is now installed in Java''s trust store! βοΈ
β localhost-https mkcert localhost
Using the local CA at "/Users/.../mkcert" β¨
Created a new certificate valid for the following names π
- "localhost"
The certificate is at "./localhost.pem" and the key at "./localhost-key.pem" β
Then you can test with a simple HTML page:
β localhost-https cat index.html
ββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β File: index.html
ββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1 β <html>
2 β <body>
3 β HELLO WORLD
4 β </body>
5 β </html>
ββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β localhost-https ./node_modules/http-server/bin/http-server -S -C ./localhost.pem -K ./localhost-key.pem [18:12:41]
Starting up http-server, serving ./ through https
Available on:
https://127.0.0.1:8080
https://192.168.1.69:8080
Hit CTRL-C to stop the server
this is the result:
FiloSottile
/
mkcert
A simple zero-config tool to make locally trusted development certificates with any names you'd like.
mkcert
mkcert is a simple tool for making locally-trusted development certificates. It requires no configuration.
$ mkcert -install
Created a new local CA π₯
The local CA is now installed in the system trust store! β‘οΈ
The local CA is now installed in the Firefox trust store (requires browser restart)! π¦
$ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1
Created a new certificate valid for the following names π
- "example.com"
- "*.example.com"
- "example.test"
- "localhost"
- "127.0.0.1"
- "::1"
The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" β
Using certificates from real certificate authorities (CAs) for development can be dangerous or impossible (for hosts like example.test, localhost or 127.0.0.1), but self-signed certificates cause trust errors. Managing your own CA is the best solution, but usually involves arcane commands, specialized knowledge and manual steps.
mkcert automatically creates and installs a local CA in the systemβ¦

