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;
listen 168.119.80.200:443 quic;
}
location @backend {
internal;
proxy_pass http://168.119.80.200:8181;
include proxy.inc;
# 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.