Tutorial: Implementando SSL no localhost para desenvolvimento Ruby on Rails com mkcert

Neste tutorial, você aprenderá como implementar um certificado SSL em seu ambiente de desenvolvimento Ruby on Rails usando o mkcert. Isso pode ser útil para testar a funcionalidade SSL em sua aplicação antes de implantá-la em um servidor de produção.

Requisitos

  1. Ruby on Rails 6 ou 7 instalado em sua máquina.
  2. Mkcert instalado. Você pode obtê-lo aqui: **https://github.com/FiloSottile/mkcert**

Passo 1: Instalar o mkcert

Se você ainda não instalou o mkcert, siga as instruções no link mencionado acima. O mkcert é uma ferramenta simples de linha de comando que gera certificados SSL autoassinados válidos para uso em ambientes de desenvolvimento local.

Passo 2: Gerar certificados SSL

Abra seu terminal e navegue até a pasta onde deseja armazenar os certificados. Em seguida, execute o seguinte comando:


mkcert localhost

Isso gerará dois arquivos: localhost.pem e localhost-key.pem. Esses arquivos são o certificado e a chave privada, respectivamente. Certifique-se de que esses arquivos estejam em um local seguro e de fácil acesso.

Passo 3: Configurar o Rails para usar SSL

Agora que temos os certificados, precisamos dizer ao Rails para usá-los. Para fazer isso, vá até a pasta do seu projeto Rails e edite ou crie um arquivo chamado Procfile na raiz do projeto (para Rails 6) ou edite o arquivo Procfile.dev já existente (para Rails 7). Adicione a seguinte linha ao arquivo:


web: unset PORT && bin/rails server -b 'ssl://localhost:3000?key=localhost-key.pem&cert=localhost.pem'

Certifique-se de que os caminhos para os arquivos localhost-key.pem e localhost.pem estão corretos. Se você armazenou os arquivos em uma pasta diferente, ajuste os caminhos conforme necessário.

Passo 4: Iniciar o servidor Rails com SSL (somente para Rails 6)

Se você estiver usando Rails 6, é necessário instalar o foreman. Abra o terminal e navegue até a pasta do seu projeto Rails. Em seguida, execute o seguinte comando:


gem install foreman

Agora que o foreman está instalado, você pode iniciar o servidor Rails com SSL executando:


foreman start

Se você estiver usando Rails 7, o foreman já está incluído por padrão, e você pode simplesmente iniciar o servidor Rails com SSL executando:


bin/dev

Agora seu servidor Rails deve estar em execução com SSL habilitado. Você pode acessar sua aplicação navegando até https://localhost:3000 em seu navegador.