Num mundo digital onde a segurança é uma prioridade, saber configurar o Upgrade Insecure Requests no NGINX torna-se essencial! Esta função poderosa obriga o navegador a converter automaticamente todas as requisições HTTP para HTTPS, assegurando comunicações 100% encriptadas entre cliente e servidor e melhorando, inclusive, o SEO do seu site. Com este guia, descubra todos os passos para proteger a sua página e garantir uma navegação segura para os seus visitantes.
Passo-a-Passo para Configurar o Upgrade Insecure Requests no NGINX
1. Adicione o Upgrade Insecure Requests Globalmente
Primeiro, aceda ao ficheiro de configuração do NGINX, normalmente localizado em /etc/nginx/nginx.conf
. Para abri-lo, utilize o comando:
sudo nano /etc/nginx/nginx.conf
⚠️ Nota: É crucial ter permissões administrativas para editar este ficheiro, garantindo que qualquer alteração seja segura e autorizada.
2. Inserir o Cabeçalho Upgrade Insecure Requests
Dentro do ficheiro nginx.conf
, localize o bloco http
. Aqui, adicione a linha de comando que força o navegador a fazer upgrade de todas as solicitações para HTTPS:
add_header Content-Security-Policy "upgrade-insecure-requests";
Exemplo de Configuração Completa:
http {
...
add_header Content-Security-Policy "upgrade-insecure-requests";
...
}
Testar o Upgrade Insecure Requests
Para garantir que a configuração está ativa, reinicie o NGINX:
sudo systemctl restart nginx
Agora, utilize uma ferramenta como curl
para verificar os cabeçalhos de resposta do seu site e confirmar a presença de Content-Security-Policy: upgrade-insecure-requests
:
curl -I http://oseusite.com
Configuração no Bloco de Servidor NGINX
Aceda à Configuração do Bloco de Servidor
Edite o bloco de servidor específico do domínio em /etc/nginx/sites-available/seudominio
:
sudo nano /etc/nginx/sites-available/seudominio
Configurar o Upgrade Insecure Requests para o Bloco do Servidor
No bloco location /
, adicione:
server {
...
location / {
add_header Content-Security-Policy "upgrade-insecure-requests";
}
...
}
Isto assegura a segurança de cada bloco de servidor, ideal para múltiplos domínios ou subdomínios.
Exemplos Avançados de Upgrade Insecure Requests no NGINX
1. Atualização Condicional por Método de Requisição
Esta configuração permite aplicar o upgrade apenas para determinados métodos de requisição, como GET ou POST:
map $request_method $upgrade_insecure {
POST 0;
default 1;
}
server {
location / {
if ($upgrade_insecure) {
add_header Content-Security-Policy "upgrade-insecure-requests";
}
}
}
2. Atualização Baseada em User-Agent
Para uma configuração mais direcionada, aplique o upgrade apenas para determinados navegadores, como Chrome ou Firefox:
map $http_user_agent $upgrade_condition {
~*chrome 1;
~*firefox 1;
default 0;
}
server {
location / {
if ($upgrade_condition) {
add_header Content-Security-Policy "upgrade-insecure-requests";
}
}
}
3. Aplicação do Upgrade por Caminho Específico
Ideal para proteger secções sensíveis do site, como uma área segura /secure-area/
:
server {
location /secure-area/ {
add_header Content-Security-Policy "upgrade-insecure-requests";
}
}
4. Integração com Outros Cabeçalhos de Segurança
Combine o upgrade com cabeçalhos de segurança adicionais para uma proteção robusta:
server {
location / {
add_header Content-Security-Policy "upgrade-insecure-requests; default-src https:";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
}
}
5. Logging Personalizado de Upgrades
Monitorize e faça auditorias de segurança ao registar requisições HTTP que foram atualizadas para HTTPS:
map $scheme $log_upgrade {
http 1;
default 0;
}
server {
location / {
if ($log_upgrade) {
access_log /var/log/nginx/upgrade.log;
add_header Content-Security-Policy "upgrade-insecure-requests";
}
}
}
Conclusão
Ao configurar o Upgrade Insecure Requests no NGINX, assegura que todo o tráfego HTTP é automaticamente redirecionado para HTTPS, elevando a segurança do seu site e melhorando o SEO. Mantenha o seu servidor atualizado e protegido, garantindo uma experiência de navegação segura e confiável para os utilizadores.