Como Configurar o WordPress com SSL Autoassinado no Ubuntu com Nginx
Para proteger a comunicação entre o servidor e o cliente, a configuração de um certificado SSL é fundamental. Isso garante que todas as informações enviadas entre o navegador e o servidor estejam criptografadas. Embora um certificado SSL emitido por uma autoridade certificadora (CA) seja ideal para sites de produção, você pode usar um certificado autoassinado para fins de desenvolvimento e testes.
Neste guia, vamos mostrar como configurar o WordPress com um SSL autoassinado no Ubuntu utilizando o servidor Nginx.
Pré-requisitos
Antes de começar, você precisa:
- Um servidor Ubuntu com Nginx e OpenSSL instalados.
- WordPress já instalado e rodando.
- Acesso ao servidor com privilégios de superusuário (root) ou sudo.
Passo 1: Instalar o OpenSSL e Nginx
Se o OpenSSL e o Nginx ainda não estiverem instalados, execute os seguintes comandos:
sudo apt update
sudo apt install nginx openssl
Passo 2: Criar a Chave Privada e o Certificado SSL Autoassinado
Usaremos o OpenSSL para gerar uma chave privada e um certificado SSL autoassinado.
- Criar a chave privada: No terminal, execute o seguinte comando para gerar uma chave privada de 2048 bits:
openssl genrsa -out /etc/ssl/private/chave-privada.key 2048
- Criar a solicitação de assinatura de certificado (CSR): Em seguida, gere uma Solicitação de Assinatura de Certificado (CSR), que contém informações sobre o seu site.
openssl req -new -key /etc/ssl/private/chave-privada.key -out /etc/ssl/private/requisicao.csr
O terminal pedirá informações como o nome da sua organização, o país e o domínio (o Common Name deve ser o domínio do seu site, como www.seusite.com).
- Gerar o certificado autoassinado: Com a chave privada e o CSR gerados, crie o certificado autoassinado:
openssl x509 -req -days 365 -in /etc/ssl/private/requisicao.csr -signkey /etc/ssl/private/chave-privada.key -out /etc/ssl/certs/certificado.crt
Esse comando gera um certificado válido por um ano (365 dias). O certificado será salvo no diretório /etc/ssl/certs/.
Passo 3: Configurar o Nginx para Usar o Certificado SSL
Agora que o certificado SSL foi gerado, vamos configurar o Nginx para usá-lo com o WordPress.
- Editar o arquivo de configuração do Nginx: No Nginx, cada site tem um arquivo de configuração virtual. Vamos editar o arquivo de configuração do seu site WordPress, que geralmente está localizado em
/etc/nginx/sites-available/. Abra o arquivo de configuração do seu site:
sudo nano /etc/nginx/sites-available/wordpress
Adicione a seguinte configuração SSL dentro do bloco server:
server {
listen 443 ssl;
server_name www.seusite.com;
root /var/www/wordpress;
index index.php index.html index.htm;
ssl_certificate /etc/ssl/certs/certificado.crt;
ssl_certificate_key /etc/ssl/private/chave-privada.key;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Nesta configuração:
- O certificado SSL está em
/etc/ssl/certs/certificado.crt. - A chave privada está em
/etc/ssl/private/chave-privada.key. - O bloco
listen 443 sslespecifica que o servidor está escutando na porta 443, que é usada para conexões HTTPS.
- Redirecionar HTTP para HTTPS (opcional, mas recomendado): Para garantir que todo o tráfego HTTP seja redirecionado para HTTPS, você pode adicionar um bloco
serverseparado que redireciona todo o tráfego HTTP para HTTPS:
server {
listen 80;
server_name www.seusite.com;
return 301 https://$host$request_uri;
}
- Testar a configuração do Nginx: Depois de editar os arquivos de configuração, é importante verificar se não há erros:
sudo nginx -t
Se não houver erros, reinicie o Nginx para aplicar as alterações:
sudo systemctl restart nginx
Passo 4: Forçar o Uso de HTTPS no WordPress
Agora que o SSL está habilitado, precisamos garantir que o WordPress use sempre HTTPS.
- Atualizar o arquivo
.htaccess(caso o seu WordPress use permalinks personalizados): Para forçar o uso de HTTPS, você pode adicionar uma regra ao arquivo.htaccessdo WordPress. No entanto, como estamos usando Nginx (que não lida diretamente com.htaccess), o redirecionamento para HTTPS foi configurado diretamente no arquivo do Nginx no passo anterior. - Atualizar o URL do WordPress: Acesse o painel de administração do WordPress (
http://seusite.com/wp-admin), vá até Configurações > Geral e atualize os campos Endereço do WordPress (URL) e Endereço do site (URL) parahttps://seusite.com. - Configurar o plugin Really Simple SSL (opcional, mas recomendado): Para garantir que todos os links no WordPress utilizem HTTPS, você pode instalar o plugin Really Simple SSL. Ele detecta automaticamente sua configuração SSL e força o uso de HTTPS em todas as páginas. Instale o plugin diretamente do painel do WordPress:
- Vá até Plugins > Adicionar novo.
- Procure por “Really Simple SSL”.
- Instale e ative o plugin.
Passo 5: Testar o SSL Autoassinado
Agora, abra seu navegador e acesse seu site WordPress usando https://. Como você está usando um certificado autoassinado, seu navegador exibirá um aviso de segurança, informando que o certificado não é confiável. Esse comportamento é esperado em certificados autoassinados e pode ser ignorado para ambientes de desenvolvimento.
Passo 6: Considerações Finais
Certificados SSL autoassinados são ótimos para testes e desenvolvimento, mas para ambientes de produção, recomenda-se o uso de um certificado SSL emitido por uma CA confiável, como o Let’s Encrypt, que fornece certificados gratuitos. Um certificado de uma autoridade confiável elimina os avisos de segurança nos navegadores e proporciona maior confiança aos usuários.
Com este guia, você conseguiu configurar o WordPress com um SSL autoassinado no Nginx em um ambiente Ubuntu, garantindo que suas conexões sejam criptografadas e seguras em seu ambiente de desenvolvimento.

Leave a comment