{"id":2000,"date":"2024-09-25T11:23:12","date_gmt":"2024-09-25T08:23:12","guid":{"rendered":"https:\/\/saviorhost.com\/?p=2000"},"modified":"2025-09-04T21:17:57","modified_gmt":"2025-09-04T18:17:57","slug":"centos-web-panel-icin-nginx-ile-http-3-ve-quic-nasil-aktif-edilir","status":"publish","type":"post","link":"https:\/\/saviorhost.com\/blog\/centos-web-panel-icin-nginx-ile-http-3-ve-quic-nasil-aktif-edilir\/","title":{"rendered":"CentOS Web Panel i\u00e7in Nginx ile HTTP\/3 ve QUIC Nas\u0131l Aktif Edilir?"},"content":{"rendered":"<p>HTTP\/3, internet ba\u011flant\u0131 h\u0131z\u0131n\u0131 art\u0131ran QUIC protokol\u00fc ile birlikte gelir. CentOS Web Panel kullanarak Nginx 1.26.1 \u00fczerinde t\u00fcm sitelerinizde HTTP\/3 ve QUIC&#8217;i etkinle\u015ftirebilir ve ayn\u0131 zamanda birden fazla siteyi y\u00f6netmek i\u00e7in virtualhost \u00f6zelli\u011fini ekleyebilirsiniz. Bu makalede, bu ad\u0131mlar\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131kl\u0131yoruz.<\/p>\n<h4 id=\"1-gereksinimler-ve-on-hazirlik\">1. Gereksinimler ve \u00d6n Haz\u0131rl\u0131k<\/h4>\n<ul>\n<li><strong>CentOS 7\/8<\/strong> kullan\u0131yor olman\u0131z.<\/li>\n<li><strong>Nginx 1.26.1<\/strong> kayna\u011f\u0131.<\/li>\n<li><strong>SSL sertifikalar\u0131<\/strong> (\u00f6rne\u011fin Let&#8217;s Encrypt).<\/li>\n<li><strong>Virtualhost<\/strong> ile birden fazla siteyi y\u00f6netmek i\u00e7in DNS ayarlar\u0131n\u0131n yap\u0131lm\u0131\u015f olmas\u0131.<\/li>\n<\/ul>\n<h4 id=\"2-nginx-1-26-1i-quic-destegi-ile-derleme\">2. Nginx 1.26.1\u2019i QUIC Deste\u011fi ile Derleme<\/h4>\n<p>Varsay\u0131lan Nginx s\u00fcr\u00fcm\u00fcnde QUIC ve HTTP\/3 deste\u011fi bulunmaz. Bu y\u00fczden Nginx&#8217;i yeniden derleyece\u011fiz.<\/p>\n<h5 id=\"gerekli-uygulamalari-kurun\">Gerekli uygulamalar\u0131 Kurun:<\/h5>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-bash\">yum install gcc pcre-devel zlib-devel openssl-devel libatomic_ops-devel cmake<\/code><\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5 id=\"open-ssl-kutuphanesini-indirin\">Open SSL K\u00fct\u00fcphanesini \u0130ndirin:<\/h5>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-bash\">rm -rf openssl*<br \/>\nwget https:\/\/www.openssl.org\/source\/openssl-3.0.12.tar.gz -O openssl.tar.gz<br \/>\ntar -xf openssl.tar.gz<br \/>\nrm -rf openssl.tar.gz<br \/>\nmv openssl-* openssl<br \/>\n.\/config --prefix=\/usr\/local\/opensslso --openssldir=\/usr\/local\/opensslso zlib shared<br \/>\nmake &amp;&amp; make install<br \/>\n<\/code><\/div>\n<\/div>\n<h5 id=\"nginx-1-26-1-kaynak-kodunu-indirin-ve-derleyin\">Nginx 1.26.1 Kaynak Kodunu \u0130ndirin ve Derleyin:<\/h5>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"flex items-center text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9\"><\/div>\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-bash\">wget https:\/\/nginx.org\/download\/nginx-1.26.1.tar.gz<\/code><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-bash\"><br \/>\ntar -zxvf nginx-1.26.1.tar.gz<br \/>\n<span class=\"hljs-built_in\">cd<\/span> nginx-1.26.1\/<br \/>\n.\/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)\"<br \/>\nmake<br \/>\nmake install<br \/>\n<\/code><\/div>\n<\/div>\n<h4 id=\"3-nginx-virtualhost-yapilandirmasi-ve-http-3-etkinlestirme\">3. Nginx VirtualHost Yap\u0131land\u0131rmas\u0131 ve HTTP\/3 Etkinle\u015ftirme<\/h4>\n<p>Her bir site i\u00e7in virtualhost yap\u0131land\u0131rmas\u0131 olu\u015fturup, HTTP\/3 deste\u011fini ekleyece\u011fiz.<\/p>\n<h5 id=\"nginx-ana-yapilandirma-dosyasini-duzenleyin\">Nginx Ana Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleyin:<\/h5>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-bash\">nano \/etc\/nginx\/nginx.conf<\/code><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Yap\u0131land\u0131rma dosyas\u0131na \u015fu sat\u0131rlar\u0131 ekleyin:<\/p>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-nginx\">http {<\/code><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-nginx\"><br \/>\ninclude       mime.types;<br \/>\ndefault_type  application\/octet-stream;<br \/>\nsendfile        on;<br \/>\nkeepalive_timeout  65;<br \/>\ninclude \/etc\/nginx\/conf.d\/*.conf;<br \/>\n}<br \/>\n<\/code><\/div>\n<\/div>\n<h5 id=\"virtualhost-yapilandirmasini-ekleyin\">VirtualHost Yap\u0131land\u0131rmas\u0131n\u0131 Ekleyin:<\/h5>\n<p>CWP Panel \u00fczerinden webserver conf edit\u00f6r b\u00f6l\u00fcm\u00fcne gelip \/etc\/nginx\/conf.d\/vhosts\/ b\u00f6l\u00fcm\u00fcne gelip ilgili domainde de\u011fi\u015fikli\u011fi yapabilirsiniz.<\/p>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-bash\">nano \/etc\/nginx\/conf.d\/yourdomain.com.conf<\/code><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 ekleyin:<\/p>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-nginx\"><code class=\"!whitespace-pre hljs language-nginx\">server {<\/code><\/code><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-nginx\"><code class=\"!whitespace-pre hljs language-nginx\">listen 127.0.0.1:443 ssl;<\/code><\/code><\/div>\n<\/div>\n<div dir=\"ltr\">Ip adresi sizden de\u011fi\u015fiklik g\u00f6sterir. Alt\u0131na ya da \u00fcst\u00fcne ;<\/div>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-nginx\"><code class=\"!whitespace-pre hljs language-nginx\"><br \/>\nlisten 168.119.80.200:443 quic;<\/code><\/code><\/div>\n<\/div>\n<div dir=\"ltr\"><\/div>\n<div dir=\"ltr\">\u015eu kodu bulun;<\/div>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div dir=\"ltr\"><\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\">\n<div><code>}<\/code><\/div>\n<div><code>location @backend {<\/code><\/div>\n<div><code>internal;<\/code><\/div>\n<div><code>proxy_pass http:\/\/168.119.80.200:8181;<\/code><\/div>\n<div><code>include proxy.inc;<\/code><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div>Hemen \u00fcst\u00fcne \u015fu kodu girin;<\/div>\n<div><\/div>\n<div><code># used to advertise the availability of HTTP\/3<\/code><br \/>\n<code>add_header Alt-Svc 'h3=\":443\"; ma=86400';<\/code><\/div>\n<h5 id=\"guvenlik-duvari-ayarlari\">G\u00fcvenlik Duvar\u0131 Ayarlar\u0131:<\/h5>\n<p>QUIC UDP \u00fczerinden \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in a\u015fa\u011f\u0131daki komutlarla 443 UDP portunu a\u00e7\u0131n:<\/p>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-bash\">firewall-cmd --permanent --add-port=443\/udp<br \/>\nfirewall-cmd --reload<\/code><\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5 id=\"nginxi-yeniden-baslatin\">Nginx\u2019i Yeniden Ba\u015flat\u0131n:<\/h5>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-bash\">nginx -t<\/code><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"!whitespace-pre hljs language-bash\"><br \/>\nsystemctl restart nginx<br \/>\n<\/code><\/div>\n<\/div>\n<h4 id=\"4-http-3-ve-quic-dogrulamasi\">4. HTTP\/3 ve QUIC Do\u011frulamas\u0131<\/h4>\n<p>HTTP\/3\u2019\u00fcn etkin oldu\u011funu do\u011frulamak i\u00e7in \u015fu komutu kullanabilirsiniz:<\/p>\n<div class=\"dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative\">\n<div class=\"sticky top-9 md:top-[5.75rem]\">\n<div class=\"absolute bottom-0 right-2 flex h-9 items-center\">\n<div class=\"flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary\"><code class=\"!whitespace-pre hljs language-bash\">curl -I -s --http3 https:\/\/saviorhost.com<\/code><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Taray\u0131c\u0131 geli\u015ftirici ara\u00e7lar\u0131n\u0131 kullanarak <code>Alt-Svc<\/code> ba\u015fl\u0131klar\u0131n\u0131 kontrol ederek de HTTP\/3&#8217;\u00fcn etkin olup olmad\u0131\u011f\u0131n\u0131 g\u00f6rebilirsiniz.<\/p>\n<h3 id=\"sonuc\">Sonu\u00e7<\/h3>\n<p>Bu ad\u0131mlarla CentOS Web Panel \u00fczerinde Nginx 1.26.1\u2019i HTTP\/3 ve QUIC deste\u011fi ile derleyip, virtualhost&#8217;larla t\u00fcm sitelerde etkinle\u015ftirdiniz. Bu yap\u0131land\u0131rma, sitelerinizin h\u0131z ve performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>HTTP\/3, internet ba\u011flant\u0131 h\u0131z\u0131n\u0131 art\u0131ran QUIC protokol\u00fc ile birlikte gelir. CentOS Web Panel kullanarak Nginx 1.26.1 \u00fczerinde t\u00fcm sitelerinizde HTTP\/3&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2093,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,66],"tags":[],"class_list":["post-2000","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centos-web-panel","category-nginx"],"_links":{"self":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/comments?post=2000"}],"version-history":[{"count":1,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2000\/revisions"}],"predecessor-version":[{"id":2002,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2000\/revisions\/2002"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media\/2093"}],"wp:attachment":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media?parent=2000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/categories?post=2000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/tags?post=2000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}