Como ativar HTTP/2.0 em nginx
- 2735
- 121
- Mr. Mitchell Hansen
Http/2 é o padrão mais recente para o Http protocolo, é o sucessor de Http/1.1. Está se tornando cada vez mais popular devido aos benefícios que traz para desenvolvedores e usuários da web em geral. Ele fornece um transporte otimizado para a semântica HTTP, apoiando todos os principais recursos de Http/1.1 mas pretende ser mais eficiente de várias maneiras.
Existem muitos recursos em cima de Http/2 Isso oferece mais possibilidades para otimizar um site/aplicativo. Oferece verdadeira multiplexação e simultaneidade, melhor compactação de cabeçalho (codificação binária), melhor priorização, melhores mecanismos de controle de fluxo e um novo modo de interação chamado “Push de servidor”Isso permite que um servidor empurre respostas a um cliente. Para não mencionar, Http/2 é baseado no experimental do Google Spdy protocolo.
Portanto, o foco principal de Http/2 é reduzir o tempo geral de carregamento da página da web, melhorando o desempenho. Ele também se concentra no uso de recursos de rede e servidor, bem como segurança porque, com Http/2, SSL/TLS A criptografia é obrigatória.
Neste artigo, você aprenderá como habilitar Nginx com Http/2 Suporte em servidores Linux.
Pré -requisitos:
- Uma instalação funcional de Nginx versão 1.9.5 ou superior, construído com o ngx_http_v2_module módulo.
- Certifique-se de que seu site use o certificado SSL/TLS, se você não tiver um, você pode obter de Let's Crypt ou usar um certificado autoassinado.
Você pode instalar Nginx ou implantá -lo com um Lemp Pilha conforme descrito nos seguintes guias:
- Como instalar o nginx no CentOS 8
- Como instalar o servidor Lemp no CentOS 8
- Como instalar o nginx, mysql/mariadb e php no rhel 8
- Como instalar pilha Lemp com phpmyadmin no Ubuntu 20.04
- Instale o nginx com blocos de servidor (hosts virtuais) no Debian 10
- Como usar o nginx como um balanceador de carga HTTP no Linux
Como ativar HTTP/2.0 em nginx
Se você tem o Nginx instalado, verifique se foi construído com o ngx_http_v2_module
módulo executando o seguinte comando.
# strings/usr/sbin/nginx | grep _module | Grep -v Configurar | classificar | Grep ngx_http_v2_moduleVerifique o módulo nginx http/2
Depois de ter um site/aplicativo sendo servido por Nginx com Https Configurado, abra o bloco de servidor virtual de seus sites (ou host virtual) Arquivo para edição.
# vi/etc/nginx/conf.d/exemplo.com.conf [no CENTOS/RHEL] $ sudo nano/etc/nginx/sites-averable/exemplo.com.conf [no ubuntu/debian]
Você pode ativar o suporte HTTP/2 simplesmente adicionando o http2
parâmetro para todos ouvir
diretivas como mostrado na captura de tela a seguir.
Ouça 443 SSL http2;
A configuração do bloco de servidor de amostra se parece abaixo.
Exemplo de servidor server_name.com www.exemplo.com; access_log/var/log/nginx/exemplo.com_access.registro; error_log/var/log/nginx/exemplo.com_error.registro; Ouça [::]: 443 ssl ipv6only = on http2; # gerenciado por certbot ouça 443 SSL http2; # gerenciado por certbot ssl_certificate/etc/letSencrypt/vive/exemplo.com/fullchain.PEM; # gerenciado por certbot ssl_certificate_key/etc/letsencrypt/vive/exemplo.com/privky.PEM; # gerenciado pelo certbot incluir/etc/letsencrypt/options-ssl-nginx.conf; # gerenciado por certbot ssl_dhparam/etc/letsencrypt/ssl-dhparams.PEM; # gerenciado por certbotAtivar suporte http/2 no nginx
Salve as mudanças no arquivo e feche -o.
Em seguida, verifique a sintaxe da configuração do Nginx, se estiver ok, reinicie o serviço Nginx.
# nginx -t # systemctl reinicie nginx
Em seguida, abra um navegador da web para verificar se seu site está sendo servido Http/2.
http: // www.exemplo.com
Para acessar os cabeçalhos HTTP, clique com o botão direito do mouse na página da web exibida, selecione Inspecionar da lista de opções para abrir as ferramentas do desenvolvedor e clique no Rede guia e recarregue a página.
Verifique abaixo Protocolos Para ver o que seu site está usando (se você não vê o cabeçalho dos protocolos, clique com o botão direito do mouse em nenhum dos cabeçalhos e.g Nome, Em seguida, verifique Protocolo da lista para exibi -lo como um cabeçalho).
Se o seu site estiver funcionando Http/1.1, sob Protocolo, você verá http/1.1 como mostrado na captura de tela a seguir.
Site em execução no http/1.1Se estiver funcionando Http/2, sob Protocolo, você verá H2
como mostrado na captura de tela a seguir. Você pode desativar o cache do navegador para visualizar o conteúdo mais recente que está sendo servido diretamente do servidor da web.
Isso é tudo! Para mais informações, consulte o NGX_HTTP_V2_MODULE Documentação do módulo. Não hesite em fazer perguntas através do formulário de feedback abaixo.
- « Como ativar o HTTP/2 em Apache no Ubuntu
- Como configurar a replicação de streaming postgreSql 12 no CentOS 8 »