makaleler / Debian / Ubuntu / Pardus / Nginix Brotli ve HTTP3 kurulumu

Nginix Brotli ve HTTP3 kurulumu

22.07.2022 19:12:48

Nginx'in son versiyonu üzerinde brotli ve HTTP3 kurulumu.

Bu yazımda NGINX 1.23 versionu üzerine Brotli ve yeni protokol olan HTTP3 kurulumunu yapacağız ve bunlar nedir gibi sorularımıza cevap yazacağız.


Brotli Nedir?

Brotli gzip ten ortalama yuzde 17 oranında daha verimli bir sıkıştırma aracıdır. Özellikle statik dosyalarımız için faydalı olacaktır. Sitemiz size olarak küçüleceği için performans değerlerimiz artacaktır. Google tarafından geliştirilmiştir.


HTTP3 Nedir?

HTTP3 tcp yerine udp protokollerini kullanarak web sunucumuzun "Nginx" clientler ile haberleşmesini sağlayan ve hala geliştirilmesi devam eden bir yeni heyecan verici bir protokoldur.

Son olarak, kuruluma başlamadan önce kullandığım işletim sistemi ve neden Nginx 1.23 üzerinde bu çalışmayı yapmaya karar verdiğimden kısaca bahsedeyim, biliyorsunuzki Nginx 1.19 versionu son open source versiyonu diyebiliriz. Bu versiyondan sonra 1.2x olarak devam etmeye karar verdi bu versionda free ama bir çok eklentiyi eklemek eskisi gibi basit değil. Bu kurulum yapacağımız modüllerde bunlardan bazıları.


brotli kurulumu
su -
mkdir /root/Download
cd /root/Download/
git clone --recursive [url]https://github.com/google/ngx_brotli.git[/url]

boringssl kurulumu
su -
cd /root/Download/
apt-get update
apt-get install -y git gcc make g++ cmake perl libunwind-dev golang
git clone [url]https://boringssl.googlesource.com/boringssl[/url]
mkdir -p boringssl/build
cd boringssl/build
cmake ..
make


HTTP3 Quic için gereksinimlerin kurulması
apt-get install -y mercurial libperl-dev libpcre3-dev zlib1g-dev libxslt1-dev libgd-ocaml-dev libgeoip-dev
hg clone [url]https://hg.nginx.org/nginx-quic[/url]
#hg clone [url]http://hg.nginx.org/njs[/url] -r "0.7.6"
hg clone [url]http://hg.nginx.org/njs[/url]
cd nginx-quic
hg update quic
auto/configure `nginx -V 2>&1 | sed "s/ \-\-/ \\\ \n\t--/g" | grep "\-\-" | grep -ve opt= -e param= -e build=` --build=nginx-quic --with-debug --with-http_v3_module --with-stream_quic_module --with-http_image_filter_module --with-http_geoip_module --with-stream_geoip_module --add-module=/root/Download/ngx_brotli --add-module=/root/Download/njs/nginx --with-cc-opt="-I../boringssl/include" --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" && make
cp objs/nginx /usr/sbin/nginx




brotli için nginx konfigürasyonu
vim /etc/nginx/nginx.conf
    brotli on;
    brotli_comp_level 6;
    brotli_static on;
    brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/png image/gif image/webp image/jpeg image/bmp image/svg+xml;

nginx için HTTP3 konfigürasyonu
vim /etc/nginx/sites-available/www.conf
    listen      443 http3 reuseport;
    # 0-RTT QUIC connection resumption
    ssl_early_data on;
    # Add Alt-Svc header to negotiate HTTP/3.
    add_header alt-svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"';
    # Sent when QUIC was used
    add_header QUIC-Status $http3;
yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda