Nginx
Nginx
Nginx
Desenvolvimento
DevOps
https://www.markway.com.br
Consultoria especializada
Educação
www.linkedin.com/in/glaucioguerra/
Abertura
Indicado para iniciantes e profissionais experientes em servidores
Web que desejam aprender sobre configuração e otimização do
NGINX.
DevOps
SRE
Arquitetura
Podcasts
Perguntas x Respostas
Dicas
Promoções e sorteios de cursos
Primeiros Passos
Introdução
Introdução
Nginx, criado por Igor Sysoev em 2002, é um servidor web de código aberto.
Destacou-se por lidar com muitas conexões simultâneas com baixo uso de
recursos.
Em 2011, a empresa Nginx Inc. foi criada para desenvolver soluções, incluindo
o Nginx Plus, uma versão comercial com suporte.
Introdução
Quem utiliza?
Introdução
Funcionamento
https://www.freecodecamp.org/
Introdução
Arquitetura Híbrida
https://www.nginx.com
Introdução
HA - Multi Zones
https://www.nginx.com
Introdução
https://www.nginx.com
Primeiros Passos
Instalação do Nginx
Instalação
Atualização do S.O
Instalação do git
Instalação do Nginx
Atualização do S.O
Instalação do Git
git --version
https://github.com/glaucioguerra/nginx-descomplicado
Instalação
Instalação Nginx
Hora do Hands On
Primeiros Passos
Configuração de Virtual Server
Virtual Server
Para que serve?
Download da aplicação:
https://github.com/glaucioguerra/nginx-descomplicado/tree/main/capitulo1/OnePage
https://guerra.academy/nicbr/onepage.tar.gz
server {
listen 80;
server_name meusite.com;
root /var/www/meusite.com;
index index.html;
location / {
try_files $uri $uri/ = 404;
}
Virtual Server
Comandos básicos:
nginx -t
service nginx reload
service nginx start
service nginx restart
git clone
Virtual Server
Erros comuns:
Virtual Server
Hora do Hands On
Virtual Server
http://meusite.com
Dica rápida
Criação de alias
Editar ~/.bashrc
/etc/nginx:
Diretório principal de configuração do produto
Configurações globais
/etc/nginx/conf.d:
Configuração virtual hosts
/usr/share/nginx:
Arquivos estáticos
/var/log/nginx:
Arquivos de acesso e erros do web server.
Estrutura de diretórios e arquivos
/etc/nginx/nginx.conf: http {
#tabela DE X PARA de tipos de arquivos
include /etc/nginx/mime.types;
user nginx; #type default caso não seja encontrado no mime.types
default_type application/octet-stream;
#qtd de workers (CPU)
worker_processes auto; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
error_log /var/log/nginx/error.log notice; '"$http_user_agent" "$http_x_forwarded_for"';
# Compactação de requests
#gzip on;
# inclusão de arquivos de configuração (virtual hosts)
include /etc/nginx/conf.d/*.conf;
Tópicos avançados
Balanceamento de carga
Balanceamento de carga
upstream node-servers {
server localhost:3000; # servidor A
server localhost:3001; # servidor B
}
Instalação do NodeJs
Configuração de duas apps server {
Configuração do balance no Nginx listen 80;
server_name meu-app.com;
location / {
proxy_pass http://node-servers;
}
}
Balanceamento de carga
Hora do Hands On
Segurança
Certificado SSL com Let's Encrypt
SSL com Let's Encrypt
Certbot:
CLI desenvolvido pelo Let’s Encrypt que facilita o processo de obtenção, renovação e
gerenciamento de certificados SSL/TLS gratuitos
Fácil utilização
Gratuito
SSL com Let's Encrypt
Domínio válido
server {
listen 80;
# Substitua pelo seu domínio
server_name agenciasbancarias.com.br;
root /var/www/agenciasbancarias;
index index.html;
Hora do Hands On
Segurança
Configuração de redirects para SSL
Redirect para SSL
Hora do Hands On
Segurança
Autenticação básica
Autenticação básica
Gerenciada no Nginx
Reload do serviço
Autenticação básica
Hora do Hands On
Segurança
Firewall
Firewall
Hora do Hands On
Segurança
Web Application Firewall - ModSecurity
WAF - ModSecurity
SQL Injection
https://owasp.org/www-project-modsecurity-core-rule-set/
WAF - ModSecurity
Hora do Hands On
Segurança
Análise DAST - ZAP
Análise DAST - ZAP
https://www.zaproxy.org/download/
Análise DAST - ZAP
Hora do Hands On
Próximos passos
Próximos Passos
Instalação em containers
Tuning de S.O
Compactação
Algoritmos de Load Balance
HTTP/2
Ajustes avançados de SSL
CDN
...
Versão Impressa: https://amzn.to/48kvGaS
OBRIGADO!
PERGUNTAS?