Hospedagem com Cloudflare e Nginx no Ubuntu: Guia Completo!


Guia Completo: Hospedando seu Site com Cloudflare e Nginx no Ubuntu 16.04

Introdução ao Mundo da Hospedagem Web

A hospedagem de um site é um passo fundamental para qualquer entidade, seja ela uma empresa ou um indivíduo, que deseja estabelecer sua presença online. Para que um site seja acessível na internet, é necessário um servidor web que armazene seus arquivos e os disponibilize aos visitantes.

O Cloudflare se apresenta como uma solução de rede de entrega de conteúdo (CDN) e segurança, projetada para otimizar o desempenho e reforçar a proteção de seu site. Em paralelo, o Nginx emerge como um servidor web de alta performance e eficiência. A combinação dessas duas ferramentas permite criar um ambiente de hospedagem robusto e confiável.

Este guia detalhado demonstrará o processo de configuração de um site, utilizando o Cloudflare e o Nginx em um servidor Ubuntu 16.04.

Requisitos Prévios

  • Um servidor com Ubuntu 16.04 instalado e operacional.
  • Um nome de domínio configurado para apontar para o endereço IP do seu servidor.

Passo 1: Instalando o Servidor Nginx

Inicialize a instalação do Nginx no seu servidor através dos seguintes comandos no terminal:


sudo apt update
sudo apt install nginx

Passo 2: Configurando o Nginx

Edite o arquivo de configuração padrão do Nginx, utilizando o seguinte comando:


sudo nano /etc/nginx/sites-available/default

Dentro do arquivo, realize as seguintes alterações:

  • Modifique a diretiva server_name, inserindo seu nome de domínio.
  • Adicione o seguinte bloco de localização para o correto direcionamento das requisições:
    
    location / {
        try_files $uri $uri/ /index.html;
    }
    
            

Após as modificações, salve e feche o arquivo.

Passo 3: Integrando o Cloudflare

Acesse o painel do Cloudflare e crie uma conta, caso ainda não possua.

Adicione seu nome de domínio à plataforma do Cloudflare.

No Cloudflare, ative os seguintes recursos:

  • CDN (Rede de Entrega de Conteúdo)
  • Firewall
  • Gerenciamento de DNS

Passo 4: Configurando o DNS no Cloudflare

Dentro do painel do Cloudflare, acesse a seção “DNS”.

Crie um novo registro do tipo CNAME, com as seguintes configurações:

  • Nome: www
  • Valor: Seu endereço IP

Esta configuração redireciona o subdomínio www para o seu servidor.

Passo 5: Ajustando o Nginx para o Cloudflare

Modifique o arquivo de configuração principal do Nginx:


sudo nano /etc/nginx/nginx.conf

Adicione o bloco de código a seguir ao final deste arquivo:


map $http_x_forwarded_for $realip {
    default $remote_addr;
    10.0.0.0/8  10.0.0.0;
    172.16.0.0/12  172.16.0.0;
    192.168.0.0/16 192.168.0.0;
}
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}
server {
    listen 443 ssl http2;
    server_name example.com www.example.com;
    root /var/www/html;
    index index.html index.htm;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA';
    ssl_prefer_server_ciphers on;
    location / {
        try_files $uri $uri/ /index.html;
    }
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public";
    }
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;
}

Lembre-se de substituir example.com pelo seu nome de domínio e ajustar os caminhos para os arquivos de certificado SSL, se necessário.

Finalize salvando e fechando o arquivo.

Conclusão

A sinergia entre Cloudflare e Nginx proporciona um ambiente de hospedagem de sites altamente eficiente e seguro. O Cloudflare potencializa o desempenho do seu site, agilizando a entrega de conteúdo e oferecendo proteção contra ameaças. O Nginx, por sua vez, demonstra-se um servidor web leve e robusto, capaz de lidar com alto volume de tráfego.

Adotando esta abordagem, você garante que seu site esteja disponível, rápido e seguro para seus usuários.

Perguntas Frequentes

  • Como posso confirmar que o Cloudflare está operando corretamente?
    Ao acessar seu site, examine os cabeçalhos HTTP. A presença de um campo CF-Cache-Status com o valor HIT indica que o cache do Cloudflare está funcionando.
  • Como desativar o Cloudflare?
    Acesse o painel do Cloudflare e, na guia “Visão Geral”, clique em “Pausar serviços de Cloudflare”.
  • Como adicionar um certificado SSL ao meu site?
    Recomendamos o uso do Certbot para gerar e instalar um certificado SSL gratuito. Acesse https://certbot.eff.org/ para mais informações.
  • Como otimizar o desempenho do meu site?
    O Cloudflare oferece diversas funcionalidades de otimização, como compactação e cache. Elas podem ser habilitadas no painel do Cloudflare.
  • Como proteger meu site contra ataques?
    O Cloudflare disponibiliza um firewall avançado, que protege seu site contra ataques comuns. Esta funcionalidade pode ser ativada no painel do Cloudflare.
  • Como monitorar o tráfego do meu site?
    O Cloudflare oferece um painel analítico para o monitoramento do tráfego do seu site, incluindo métricas como largura de banda, requisições e visitantes.
  • Como migrar meu site atual para o Cloudflare?
    No painel do Cloudflare, acesse a guia “Visão Geral” e clique em “Importar site”.
  • É possível usar o Cloudflare com um servidor Apache?
    Sim, o Cloudflare é compatível com o servidor Apache. O processo de configuração é similar ao apresentado neste guia para o Nginx.
  • Quais os custos do Cloudflare?
    O Cloudflare oferece um plano gratuito, assim como planos pagos com recursos adicionais. Consulte o site do Cloudflare para mais detalhes sobre preços.
  • Como contatar o suporte do Cloudflare?
    O suporte do Cloudflare pode ser acessado através do painel ou por e-mail, com disponibilidade 24 horas por dia, 7 dias por semana.