Blog Detayı

CentOS Web Panel için Nginx ile HTTP/3 ve QUIC Nasıl Aktif Edilir?

HTTP/3, internet bağlantı hızını artıran QUIC protokolü ile birlikte gelir. CentOS Web Panel kullanarak Nginx 1.26.1 üzerinde tüm sitelerinizde HTTP/3 ve QUIC’i etkinleştirebilir ve aynı zamanda birden fazla siteyi yönetmek için virtualhost özelliğini ekleyebilirsiniz. Bu makalede, bu adımları detaylı bir şekilde açıklıyoruz.

1. Gereksinimler ve Ön Hazırlık

  • CentOS 7/8 kullanıyor olmanız.
  • Nginx 1.26.1 kaynağı.
  • SSL sertifikaları (örneğin Let’s Encrypt).
  • Virtualhost ile birden fazla siteyi yönetmek için DNS ayarlarının yapılmış olması.

2. Nginx 1.26.1’i QUIC Desteği ile Derleme

Varsayılan Nginx sürümünde QUIC ve HTTP/3 desteği bulunmaz. Bu yüzden Nginx’i yeniden derleyeceğiz.

Gerekli uygulamaları Kurun:
yum install gcc pcre-devel zlib-devel openssl-devel libatomic_ops-devel cmake
Open SSL Kütüphanesini İndirin:
rm -rf openssl*
wget https://www.openssl.org/source/openssl-3.0.12.tar.gz -O openssl.tar.gz
tar -xf openssl.tar.gz
rm -rf openssl.tar.gz
mv openssl-* openssl
./config --prefix=/usr/local/opensslso --openssldir=/usr/local/opensslso zlib shared
make && make install
Nginx 1.26.1 Kaynak Kodunu İndirin ve Derleyin:
wget https://nginx.org/download/nginx-1.26.1.tar.gz

tar -zxvf nginx-1.26.1.tar.gz
cd nginx-1.26.1/
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --build=CentOS --builddir=nginx-custom --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-stream_ssl_preread_module --with-compat --with-pcre=/usr/local/src/pcre-8.45 --with-pcre-jit --with-zlib=/usr/local/src/zlib --with-openssl=/usr/local/src/openssl --with-openssl-opt=no-nextprotoneg --with-debug --with-http_v3_module --build="quiche-$(git --git-dir=../quiche/.git rev-parse --short HEAD)"
make
make install

3. Nginx VirtualHost Yapılandırması ve HTTP/3 Etkinleştirme

Her bir site için virtualhost yapılandırması oluşturup, HTTP/3 desteğini ekleyeceğiz.

Nginx Ana Yapılandırma Dosyasını Düzenleyin:
nano /etc/nginx/nginx.conf

Yapılandırma dosyasına şu satırları ekleyin:

http {

include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
}
VirtualHost Yapılandırmasını Ekleyin:

CWP Panel üzerinden webserver conf editör bölümüne gelip /etc/nginx/conf.d/vhosts/ bölümüne gelip ilgili domainde değişikliği yapabilirsiniz.

nano /etc/nginx/conf.d/yourdomain.com.conf

Aşağıdaki yapılandırmayı ekleyin:

server {
listen 127.0.0.1:443 ssl;
Ip adresi sizden değişiklik gösterir. Altına ya da üstüne ;

listen 168.119.80.200:443 quic;
Şu kodu bulun;
}
location @backend {
internal;
proxy_pass http://168.119.80.200:8181;
include proxy.inc;
Hemen üstüne şu kodu girin;
# used to advertise the availability of HTTP/3
add_header Alt-Svc 'h3=":443"; ma=86400';
Güvenlik Duvarı Ayarları:

QUIC UDP üzerinden çalıştığı için aşağıdaki komutlarla 443 UDP portunu açın:

firewall-cmd --permanent --add-port=443/udp
firewall-cmd --reload
Nginx’i Yeniden Başlatın:
nginx -t

systemctl restart nginx

4. HTTP/3 ve QUIC Doğrulaması

HTTP/3’ün etkin olduğunu doğrulamak için şu komutu kullanabilirsiniz:

curl -I -s --http3 https://saviorhost.com

Tarayıcı geliştirici araçlarını kullanarak Alt-Svc başlıklarını kontrol ederek de HTTP/3’ün etkin olup olmadığını görebilirsiniz.

Sonuç

Bu adımlarla CentOS Web Panel üzerinde Nginx 1.26.1’i HTTP/3 ve QUIC desteği ile derleyip, virtualhost’larla tüm sitelerde etkinleştirdiniz. Bu yapılandırma, sitelerinizin hız ve performansını önemli ölçüde artıracaktır.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir