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

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

Tags
Published
Author
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.
  1. 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.