Junior
Para que é que se usa o Nginx?
sobes.tech IA
Resposta da IA
O Nginx é um servidor web assíncrono de alto desempenho e um proxy reverso, utilizado para:
- Serviço de ficheiros estáticos: Entrega rápida e eficiente de HTML, CSS, JavaScript, imagens e outros recursos estáticos. Graças à sua arquitetura assíncrona, pode lidar com um grande número de ligações simultâneas com baixo consumo de recursos.
- Proxy reverso: Transmissão de pedidos de clientes para um ou vários servidores backend (aplicações, API) e devolução de respostas aos clientes. Isto permite equilibrar a carga, melhorar a segurança (escondendo a estrutura interna da rede) e realizar a terminação SSL.
- Balanceamento de carga: Distribuição de pedidos de entrada entre vários servidores para aumentar a disponibilidade e escalabilidade da aplicação. Suporta diferentes algoritmos de balanceamento (por exemplo, round robin, menos conexões).
- Caching: Armazenamento em cache de recursos estáticos e dinâmicos para reduzir a carga nos backend e acelerar a resposta.
- Terminação SSL/TLS: Descriptografia do tráfego HTTPS antes de o enviar ao backend, o que reduz a carga nos servidores de aplicações e permite gerir certificados de forma centralizada.
- Compressão: Compressão de dados (por exemplo, Gzip) antes de os enviar ao cliente para reduzir o tráfego e acelerar o carregamento de páginas.
- Limitação de velocidade de pedidos: Proteção dos backend contra sobrecarga através da limitação do número de pedidos de um cliente num período de tempo.
- Firewall web (WAF): Proteção básica contra ataques web comuns (por exemplo, injeções SQL, XSS).
# Exemplo de configuração do Nginx para servir ficheiros estáticos e proxy de API
server {
listen 80;
server_name example.com; # Nome de domínio
location / {
root /var/www/html; # Caminho para ficheiros estáticos
index index.html;
}
location /api/ {
proxy_pass http://backend_server:8080; # Proxy de pedidos API para outro servidor
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}