Gerador de configuração Nginx: nginx.conf para PHP e SSL
Esta ferramenta é baseada no projeto de código aberto nginxconfig.io da DigitalOcean, publicado sob a licença MIT (texto da licença). Os anúncios e o menu do site original foram removidos. A configuração é criada no seu navegador, nada é enviado a um servidor.
Gerador de configuração Nginx: configure o nginx.conf online
Escolha o que o seu site precisa e o gerador escreve os arquivos de configuração do NGINX: os blocos server dos domínios, o HTTPS com o perfil TLS recomendado, um proxy reverso, PHP-FPM, Node.js ou Python, cache, compressão e cabeçalhos de segurança. Você recebe os arquivos em um pacote ou como um único comando para colar no terminal do servidor. Tudo é calculado no seu navegador, então os nomes de domínio e os caminhos não são enviados a lugar nenhum.
Como usar o gerador
- Escolha um preset para o tipo de site (PHP, WordPress, Node.js, Django, aplicação de página única, Drupal, Magento, Joomla ou um frontend simples) e informe o domínio e o caminho do site no servidor.
- Abra as abas do site: Servidor, HTTPS, PHP, Python, Proxy reverso, Roteamento, Logs e Restringir. O número entre parênteses depois do domínio mostra quantas configurações você alterou.
- Defina as opções globais para todos os sites: o perfil SSL, os cabeçalhos de segurança, o desempenho (gzip, cache), os logs e as configurações principais do NGINX. A aba Docker traz os arquivos para um contêiner.
- Na seção Configuração baixe o pacote ou copie o comando Base64 e siga os passos abaixo dele.
- Verifique o resultado com
nginx -te recarregue o NGINX (veja abaixo).
Onde ficam os arquivos de configuração do NGINX
- Debian e Ubuntu: o arquivo principal é
/etc/nginx/nginx.conf. Os sites ficam em/etc/nginx/sites-available/e são ativados por um link em/etc/nginx/sites-enabled/; arquivos extras ficam em/etc/nginx/conf.d/. - CentOS, RHEL e os pacotes do nginx.org:
/etc/nginx/nginx.confe os arquivos/etc/nginx/conf.d/*.conf(não existe a pasta sites-available). - Docker: a imagem oficial lê
/etc/nginx/conf.d/default.conf; monte o seu arquivo ou pasta como volume. - Windows: a pasta
confao lado donginx.exe, o arquivo principal éconf\nginx.conf. - Para ver toda a configuração que o NGINX realmente usa, com todos os arquivos incluídos, execute
sudo nginx -T.
Como verificar a configuração e recarregar o NGINX
Nunca recarregue o NGINX sem testar. Execute sudo nginx -t: a resposta syntax is ok e test is successful significa que os arquivos estão corretos. Um erro como unknown directive ou unexpected "}" indica o arquivo e a linha, então o problema é fácil de achar. Depois aplique a nova configuração sem derrubar as conexões abertas: sudo systemctl reload nginx ou sudo nginx -s reload. No Windows execute nginx -s reload na pasta do NGINX. A reinicialização só é necessária quando o reload não basta.
PHP com NGINX (php-fpm)
O NGINX não executa PHP por conta própria, ele passa a requisição ao PHP-FPM com fastcgi_pass: para um socket como /run/php/php8.3-fpm.sock ou para 127.0.0.1:9000. O nome do socket depende da versão do PHP, veja na pasta /run/php/. O preset PHP configura isso junto com try_files, para que as requisições de um CMS cheguem ao index.php.
Proxy reverso, WebSockets e SSE
Um proxy reverso recebe as requisições nas portas 80 e 443 e as repassa a uma aplicação com proxy_pass, por exemplo http://127.0.0.1:3000. O gerador adiciona os cabeçalhos Host, X-Real-IP, X-Forwarded-For e X-Forwarded-Proto, para que a aplicação conheça o endereço e o protocolo reais do visitante. Para WebSockets o NGINX precisa de proxy_http_version 1.1 e dos cabeçalhos Upgrade e Connection. Para server-sent events (SSE) desative o buffer com proxy_buffering off. O Nginx Proxy Manager é outro produto: uma aplicação em Docker com interface web própria. Esta ferramenta escreve uma configuração comum, que você mantém em arquivos.
HTTPS e certificados
Um certificado gratuito é emitido pelo Let's Encrypt, por exemplo com o certbot; os arquivos fullchain.pem e privkey.pem ficam em /etc/letsencrypt/live/seu-dominio/. O gerador escreve os caminhos, o redirecionamento de http para https e as configurações TLS do perfil Mozilla: Modern, Intermediate (o padrão) ou Old para clientes antigos. Ative o HSTS só depois de confirmar que o https funciona em todos os subdomínios: os navegadores passam a se recusar a abrir o site por http.
Como o NGINX escolhe um location
A correspondência exata location = /path vence primeiro. Depois é encontrado o prefixo mais longo e, se ele tiver o modificador ^~, a busca termina. Caso contrário, as expressões regulares (~ e ~*) são verificadas na ordem do arquivo, e a primeira que casar é usada. Se nenhuma expressão regular servir, usa-se o prefixo mais longo.
NGINX junto com o Apache e o fail2ban
Um esquema comum: o NGINX escuta nas portas 80 e 443, entrega os arquivos estáticos e passa as requisições dinâmicas ao Apache em outra porta, por exemplo 127.0.0.1:8080. Para bloquear os robôs que tentam senhas e varrem o site, o fail2ban tem filtros prontos para o NGINX: nginx-http-auth, nginx-botsearch e nginx-limit-req. Ative-os no jail.local e confira se os caminhos dos logs ali são os mesmos da configuração gerada.
Limites de uma configuração gerada
O resultado é um bom ponto de partida, não uma garantia para todo servidor. Verifique-o com nginx -t, guarde uma cópia dos arquivos antigos (o comando está nas instruções do gerador) e, para aplicações como 1C-Bitrix, Nextcloud ou Zabbix, compare com a configuração da documentação delas. As diretivas disponíveis dependem da versão do NGINX e dos módulos da sua compilação.
Ferramentas relacionadas
Para medir a rapidez da resposta do servidor use o verificador de TTFB, para ver os códigos de status e os redirecionamentos depois de configurar o https o verificador de códigos de status HTTP e, para conferir os registros DNS e o certificado de um domínio, a consulta DNS.
Ferramentas semelhantes
Verificador de TTFB grátis: tempo até o primeiro byte de qualquer site, com DNS, conexão, TLS e espera do servidor, de 1 a 5 testes e mediana.
Veja o código de status HTTP e os cabeçalhos de qualquer URL e siga a cadeia de redirecionamentos (301, 302, 307, 308) com IP do servidor e tempos.
DNS lookup online grátis: registros A, AAAA, CNAME, MX, NS, TXT, SOA e CAA de qualquer domínio e o certificado SSL dele. Veja por que o DNS lookup falha.
Descubra quem hospeda um site: endereço IP, empresa de hospedagem (ASN), país e cidade do servidor. Verificador gratuito para qualquer domínio.
Ferramentas populares
Descubra quem hospeda um site: endereço IP, empresa de hospedagem (ASN), país e cidade do servidor. Verificador gratuito para qualquer domínio.
IP Lookup grátis: país, cidade, coordenadas e fuso horário de um endereço IP e o nome do host por consulta de IP reverso (DNS reverso). IPv4 e IPv6.
DNS lookup online grátis: registros A, AAAA, CNAME, MX, NS, TXT, SOA e CAA de qualquer domínio e o certificado SSL dele. Veja por que o DNS lookup falha.
Teste dos EUA (Nova York) se um site está no ar: código de status HTTP e tempo de resposta em ms. Ping gratuito dos EUA para qualquer URL.