Você está na página 1de 4

14/07/2017 Habilite o HTTP/2 no seu site hoje - Labs Bluesoft

(HTTP://LABS.BLUESOFT.COM.BR)
Home (http://labs.bluesoft.com.br)/ Artigos (http://labs.bluesoft.com.br/category/artigos/) / Habilite o HTTP/2 no seu site hoje

PAPO RETO (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PAPO-RETO/)

ARTIGOS (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/ARTIGOS/)

PODCAST (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PODCAST/)

QUEM SOMOS (HTTP://LABS.BLUESOFT.COM.BR/QUEM-SOMOS/)

OPORTUNIDADES (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/OPORTUNIDADES/)

CONTATO (HTTP://LABS.BLUESOFT.COM.BR/CONTATO/)

Habilite O HTTP/2 No Seu Site Hoje

5 de outubro de 2015 gabriell nascimento (http://labs.bluesoft.com.br/author/gabriell-nascimento/)


Artigos (http://labs.bluesoft.com.br/category/artigos/), Programao (http://labs.bluesoft.com.br/category/programacao-limpa/)
0 (http://labs.bluesoft.com.br/habilite-o-http2-no-seu-site-hoje/#respond)

J est sabendo do HTTP/2? Ele um protocolo de comunicao desenvolvido com o objetivo de ser o sucessor dos protocolos HTTP/1.x. Foi desenvolvido com base
no SPDY, um protocolo do Google, que visava aumentar o desempenho de pginas web. Caso queira saber mais, veja o Papo Reto que z sobre esse assunto
(http://labs.bluesoft.com.br/http2/).

Neste artigo vou mostrar como compilar o Nginx com suporte a HTTP/2. Utilizei um Ubuntu 14.04 e o Docker para rodar a imagem. Voc pode ver nosso Dockerle no
Github clicando aqui (https://github.com/bluesoft/dockerles/tree/master/nginx-h2).

Note que o suporte ao HTTP/2 no Nginx ainda est em alpha (https://www.nginx.com/blog/early-alpha-patch-http2/)! Recomendo fazer um ambiente de testes antes
de colocar em produo.

Se quiser utilizar o Docker, baixe a imagem e execute-a utilizando os comandos abaixo. Troque /caminho/do/meu-site/ pelo caminho absoluto para a pasta do seu
site.

$ docker pull devopsbluesoft/nginx-h2


$ docker run -d -p 8443:443 -v /caminho/do/meu-site/:/usr/local/nginx/html/ devopsbluesoft/nginx-h2

Acesse seu site pelo link https://localhost:8443 (https://localhost:8443). Lembre-se de trocar localhost pelo IP da mquina onde o Docker foi executado.
Se voc no quiser utilizar o Docker, siga os passos a seguir.

Atualize e instale as dependncias do Nginx.

$ sudo apt-get update


$ sudo apt-get upgrade
$ sudo apt-get install gcc g++ make patch wget libpcre3-dev zlib1g-dev libssl-dev

Baixe o Nginx no diretrio de sua preferncia.

http://labs.bluesoft.com.br/habilite-o-http2-no-seu-site-hoje/ 1/4
14/07/2017 Habilite o HTTP/2 no seu site hoje - Labs Bluesoft

$ mkdir $HOME/src && cd $HOME/src


$ wget -O nginx-1.9.3.tar.gz http://nginx.org/download/nginx-1.9.3.tar.gz
$ tar xzf nginx-1.9.3.tar.gz

(HTTP://LABS.BLUESOFT.COM.BR)
Baixe e aplique o patch para habilitar o HTTP/2 no Nginx.

PAPO RETO (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PAPO-RETO/)


$ cd nginx-1.9.3/
$ ARTIGOS (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/ARTIGOS/)
wget -O patch.http2.txt http://nginx.org/patches/http2/patch.http2.txt
$ patch -p1 < patch.http2.txt

PODCAST (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PODCAST/)
Compile o Nginx. Talvez seja necessrio habilitar mais opes no congure dependendo das suas necessidades. As opes abaixo servem para sites estticos.

QUEM SOMOS (HTTP://LABS.BLUESOFT.COM.BR/QUEM-SOMOS/)


$ sudo mkdir -p /usr/local/nginx
$ OPORTUNIDADES (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/OPORTUNIDADES/)
./configure --prefix=/usr/local/nginx/ --user=www-data --group=www-data --build=nginx-bsh2-1 --with-http_ssl_module --with-http_v2_module
$ make
$ sudo make install
CONTATO (HTTP://LABS.BLUESOFT.COM.BR/CONTATO/)

Crie a chave e o certicado SSL.

$ sudo mkdir -p /usr/local/nginx/conf/ssl


$ sudo openssl genrsa -out /usr/local/nginx/conf/ssl/h2-server.key 2048
$ sudo openssl req -subj "/C=BR/ST=SP/L=So Paulo/O=Acme Inc/OU=DevOps" -new -key /usr/local/nginx/conf/ssl/h2-server.key -out /usr/local/nginx/conf/
ssl/h2-server.csr
$ sudo openssl x509 -req -days 365 -in /usr/local/nginx/conf/ssl/h2-server.csr -signkey /usr/local/nginx/conf/ssl/h2-server.key -out /usr/local/ngin
x/conf/ssl/h2-server.crt

Conserte as permisses da chave e certicado.

$ sudo rm /usr/local/nginx/conf/ssl/h2-server.csr
$ sudo chown -R www-data:www-data /usr/local/nginx/conf/ssl
$ sudo chmod 0400 /usr/local/nginx/conf/ssl/h2-server.key
$ sudo chmod 0444 /usr/local/nginx/conf/ssl/h2-server.crt

Copie o nginx.conf.

$ wget https://raw.githubusercontent.com/bluesoft/dockerfiles/master/nginx-h2/nginx.conf.docker
$ sudo mv nginx.conf.docker /usr/local/nginx/conf/nginx.conf

Lembre-se de colocar o seu site em /usr/local/nginx/html.

$ sudo cp -R meu-site/* /usr/local/nginx/html/

Remova os arquivos baixados.

$ rm -r $HOME/src/nginx-1.9.3
$ rm $HOME/src/nginx-1.9.3.tar.gz

Inicie o Nginx.

$ sudo /usr/local/nginx/sbin/nginx -g "daemon off;"

Acesse seu site pelo link https://localhost (https://localhost). Lembre-se de trocar localhost pelo IP da mquina onde o Nginx foi instalado.

Para vericar se seu site realmente est sendo servido via HTTP/2, instale o SPDY indicator (https://github.com/chengsun/moz-spdy-indicator), para Firefox, ou o
Chrome SPDY indicator (http://www.devthought.com/2012/03/10/chrome-spdy-indicator/), para o Chrome.

Parabns! Voc habilitou o HTTP/2 no seu site!

http://labs.bluesoft.com.br/habilite-o-http2-no-seu-site-hoje/ 2/4
14/07/2017 Habilite o HTTP/2 no seu site hoje - Labs Bluesoft

Caso queira saber mais sobre o HTTP/2, conra o vdeo abaixo.

HTTP/2 | Gabriell Nascimento | Papo Reto

(HTTP://LABS.BLUESOFT.COM.BR)

PAPO RETO (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PAPO-RETO/)

ARTIGOS (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/ARTIGOS/)

PODCAST (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PODCAST/)

QUEM SOMOS (HTTP://LABS.BLUESOFT.COM.BR/QUEM-SOMOS/)

OPORTUNIDADES (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/OPORTUNIDADES/)

CONTATO (HTTP://LABS.BLUESOFT.COM.BR/CONTATO/)

At a prxima!

Related Articles:
API para Gerao de Grcos (http://bluesoft.wordpress.com/2007/12/29/api-para-geracao-de-gracos/)
JPA e Hibernate Existe diferena? (http://labs.bluesoft.com.br/?p=7946)
Mapeando views com Hibernate no spring-data (http://labs.bluesoft.com.br/?p=7917)
Java e JavaScript (http://labs.bluesoft.com.br/?p=7089)

---

Este Post um oferecimento de Acelerato Gesto de Projetos geis e Help Desk

No perca tempo, acesse acelerato.com (http://www.acelerato.com), cadastre-se gratuitamente e descubra como podemos ajud-lo.

Post Footer automatically generated by Add Post Footer Plugin (http://www.freetimefoto.com/add_post_footer_plugin_wordpress) for wordpress.

Curtir 21 pessoas curtiram isso. Cadastre-se para ver do que seus amigos gostam.

Gabriell (Http://Labs.Bluesoft.Com.Br/Tag/Gabriell/) Http2 (Http://Labs.Bluesoft.Com.Br/Tag/Http2/)

Nascimento (Http://Labs.Bluesoft.Com.Br/Tag/Nascimento/)

LEAVE A COMMENT

Name

Email

http://labs.bluesoft.com.br/habilite-o-http2-no-seu-site-hoje/ 3/4
14/07/2017 Habilite o HTTP/2 no seu site hoje - Labs Bluesoft

Website
Seja sempre o primeiro a ver nossas novidades Meu e-mail Quero receber por e-mail
Message
(HTTP://LABS.BLUESOFT.COM.BR)

PAPO RETO (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PAPO-RETO/)

ARTIGOS (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/ARTIGOS/)

PODCAST (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/PODCAST/)

QUEM SOMOS (HTTP://LABS.BLUESOFT.COM.BR/QUEM-SOMOS/)


Notique-me sobre novos comentrios por e-mail.
SEND
OPORTUNIDADES (HTTP://LABS.BLUESOFT.COM.BR/CATEGORY/OPORTUNIDADES/)
Notique-me sobre novas publicaes por e-mail.

CONTATO (HTTP://LABS.BLUESOFT.COM.BR/CONTATO/)

Pesquisar por:

Pesquisar PESQUISAR

CATEGORIAS

Categorias

Selecionar categoria

(https://www.acelerato.com/projetos/)

TPICOS RECENTES

Design Thinking | Larissa Ruana | Papo Reto (http://labs.bluesoft.com.br/design-thinking-larissa-ruana/)


O que UX? | Bruno Oliveira | Papo Reto (http://labs.bluesoft.com.br/o-que-e-ux/)

Bluesoft News #21 Melhores De Junho (http://labs.bluesoft.com.br/bluesoft-news-21-melhores-de-junho/)

http://labs.bluesoft.com.br/habilite-o-http2-no-seu-site-hoje/ 4/4