Localhost
This gem provides a convenient API for generating per-user self-signed root certificates.
Motivation
HTTP/2 requires SSL in web browsers. If you want to use HTTP/2 for development (and you should), you need to start using URLs like https://localhost:8080
. In most cases, this requires adding a self-signed certificate to your certificate store (e.g. Keychain on macOS), and storing the private key for the web-server to use.
I wanted to provide a server-agnostic way of doing this, primarily because I think it makes sense to minimise the amount of junky self-signed keys you add to your certificate store for localhost
.
Usage
Please see the project documentation for more details.
-
Getting Started - This guide explains how to use localhost
for provisioning local TLS certificates for development.
-
Browser Configuration - This guide explains how to configure your local browser in order to avoid warnings about insecure self-signed certificates.
-
Example Server - This guide demonstrates how to use Localhost::Authority
to implement a simple HTTPS client & server.
Contributing
We welcome contributions to this project.
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create new Pull Request.
Developer Certificate of Origin
This project uses the Developer Certificate of Origin. All contributors to this project must agree to this document to have their contributions accepted.
Contributor Covenant
This project is governed by the Contributor Covenant. All contributors and participants agree to abide by its terms.
See Also
- Falcon — Uses
Localhost::Authority
to provide HTTP/2 with minimal configuration. - Puma — Supports
Localhost::Authority
to provide self-signed HTTP for local development.