{"id":33211,"date":"2025-10-31T04:40:52","date_gmt":"2025-10-31T01:40:52","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33211"},"modified":"2025-10-31T04:40:52","modified_gmt":"2025-10-31T01:40:52","slug":"nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/","title":{"rendered":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi<\/h2>\n<p>\u0130nternet \u00fczerindeki veri g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda vazge\u00e7ilmez bir \u00f6neme sahiptir. Kullan\u0131c\u0131lar ve sunucular aras\u0131nda iletilen bilgilerin \u015fifrelenmesi, hassas verilerin k\u00f6t\u00fc niyetli \u00fc\u00e7\u00fcnc\u00fc taraflar\u0131n eline ge\u00e7mesini engellemenin temel yoludur. Bu \u015fifreleme i\u015flemi genellikle SSL\/TLS (Secure Sockets Layer\/Transport Layer Security) protokolleri arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilir. Bir web sunucusunun SSL\/TLS kullanabilmesi i\u00e7in bir SSL sertifikas\u0131na ihtiyac\u0131 vard\u0131r. Bu makalede, pop\u00fcler web sunucusu Nginx&#8217;i Debian 10 i\u015fletim sistemi \u00fczerinde kullanarak, kendi imzal\u0131 (self-signed) bir SSL sertifikas\u0131n\u0131 nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Giri\u015f: SSL\/TLS ve Kendi \u0130mzal\u0131 Sertifikalar\u0131n \u00d6nemi<\/h3>\n<p>SSL\/TLS, bir web sunucusu ile bir web taray\u0131c\u0131s\u0131 aras\u0131nda \u015fifreli bir ba\u011flant\u0131 kurmay\u0131 sa\u011flayan kriptografik protokollerdir. Bu protokoller, veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc, kimlik do\u011frulamay\u0131 ve gizlili\u011fi garanti eder. Bir web sitesi HTTPS (Hypertext Transfer Protocol Secure) kulland\u0131\u011f\u0131nda, ba\u011flant\u0131 SSL\/TLS ile g\u00fcvence alt\u0131na al\u0131nm\u0131\u015f demektir. Bu durum, \u00f6zellikle \u00e7evrimi\u00e7i al\u0131\u015fveri\u015f, bankac\u0131l\u0131k i\u015flemleri veya ki\u015fisel bilgilerin payla\u015f\u0131ld\u0131\u011f\u0131 siteler i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p>Bir SSL sertifikas\u0131, bir web sitesinin kimli\u011fini do\u011frulayan ve \u015fifreli ba\u011flant\u0131n\u0131n kurulmas\u0131na olanak tan\u0131yan dijital bir belgedir. Normalde, bu sertifikalar Let&#8217;s Encrypt, DigiCert, Comodo gibi g\u00fcvenilir bir Sertifika Yetkilisi (CA) taraf\u0131ndan imzalan\u0131r. Taray\u0131c\u0131lar, bu CA&#8217;lar\u0131n k\u00f6k sertifikalar\u0131n\u0131 g\u00fcvendi\u011fi i\u00e7in, bu CA&#8217;lar taraf\u0131ndan imzalanan sertifikalara otomatik olarak g\u00fcvenirler ve herhangi bir uyar\u0131 vermezler.<\/p>\n<p>Ancak, kendi imzal\u0131 bir SSL sertifikas\u0131, bir Sertifika Yetkilisi taraf\u0131ndan de\u011fil, do\u011frudan sizin taraf\u0131n\u0131zdan imzalanan bir sertifikad\u0131r. Bu sertifikalar, taray\u0131c\u0131lar taraf\u0131ndan otomatik olarak g\u00fcvenilir kabul edilmezler, \u00e7\u00fcnk\u00fc taray\u0131c\u0131lar\u0131n g\u00fcvendi\u011fi bilinen bir otorite taraf\u0131ndan do\u011frulanmam\u0131\u015flard\u0131r. Bu nedenle, kendi imzal\u0131 bir sertifika kullan\u0131lan bir siteye eri\u015fildi\u011finde taray\u0131c\u0131lar genellikle bir g\u00fcvenlik uyar\u0131s\u0131 verir.<\/p>\n<p>Peki, neden kendi imzal\u0131 bir sertifika kullanmak isteyelim?<br \/>\n*   <strong>Geli\u015ftirme Ortamlar\u0131:<\/strong> Yerel geli\u015ftirme ortamlar\u0131nda veya test sunucular\u0131nda HTTPS ba\u011flant\u0131s\u0131n\u0131 sim\u00fcle etmek i\u00e7in idealdir. Ger\u00e7ek bir CA sertifikas\u0131 almak bu a\u015famalarda gereksiz maliyet ve zaman kayb\u0131 olabilir.<br \/>\n*   <strong>Dahili Uygulamalar:<\/strong> \u0130nternet&#8217;e a\u00e7\u0131k olmayan, yaln\u0131zca \u015firket i\u00e7i a\u011fda kullan\u0131lan uygulamalar i\u00e7in g\u00fcvenlik sa\u011flamak amac\u0131yla kullan\u0131labilir. Bu t\u00fcr durumlarda, kullan\u0131c\u0131lar sertifikay\u0131 manuel olarak taray\u0131c\u0131lar\u0131na ekleyerek uyar\u0131y\u0131 kald\u0131rabilirler.<br \/>\n*   <strong>Maliyet Etkinli\u011fi:<\/strong> \u00dccretsizdir ve herhangi bir \u00fc\u00e7\u00fcnc\u00fc taraf hizmetine ba\u011f\u0131ml\u0131l\u0131k gerektirmez.<\/p>\n<p>Bu makalede Debian 10&#8217;u tercih etmemizin sebebi, kararl\u0131l\u0131\u011f\u0131, g\u00fcvenilirli\u011fi ve geni\u015f paket deste\u011fi ile sunucu ortamlar\u0131nda yayg\u0131n olarak kullan\u0131lmas\u0131d\u0131r. Nginx ise y\u00fcksek performans\u0131, d\u00fc\u015f\u00fck kaynak t\u00fcketimi ve esnek yap\u0131land\u0131rma se\u00e7enekleri sayesinde modern web sunucular\u0131nda pop\u00fcler bir tercihtir. Bu kombinasyon, kendi imzal\u0131 SSL sertifikalar\u0131n\u0131 test etmek veya dahili kullan\u0131mlar i\u00e7in m\u00fckemmel bir platform sunar.<\/p>\n<p>Bu rehberde, Nginx&#8217;in Debian 10 \u00fczerinde kurulu oldu\u011funu varsay\u0131yoruz. E\u011fer kurulu de\u011filse, ilk ad\u0131mda kurulum talimatlar\u0131n\u0131 da bulacaks\u0131n\u0131z. Ad\u0131mlar\u0131 takip ederken, <code>sudo<\/code> komutunu kullanmak i\u00e7in yetkili bir kullan\u0131c\u0131ya sahip oldu\u011funuzdan emin olun.<\/p>\n<h3>1. Nginx Kurulumu (Gerekliyse)<\/h3>\n<p>E\u011fer sunucunuzda Nginx zaten kuruluysa, bu ad\u0131m\u0131 atlayabilirsiniz. Aksi takdirde, Nginx&#8217;i kurmak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<p>\u0130lk olarak, paket listesini g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Ard\u0131ndan Nginx&#8217;i kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install nginx -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Nginx servisinin otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flay\u0131n ve servisi ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx\nsudo systemctl enable nginx<\/code><\/pre>\n<p>E\u011fer sunucunuzda UFW (Uncomplicated Firewall) gibi bir g\u00fcvenlik duvar\u0131 etkinse, Nginx&#8217;in HTTP trafi\u011fine izin verdi\u011finden emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTP'\nsudo ufw allow 'Nginx HTTPS' # HTTPS i\u00e7in \u015fimdiden izin verebiliriz.\nsudo ufw status # G\u00fcvenlik duvar\u0131 durumunu kontrol edin<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zda sunucunuzun IP adresini ziyaret ederek Nginx&#8217;in ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulayabilirsiniz. &#8220;Welcome to Nginx!&#8221; sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>2. SSL Sertifikas\u0131 ve \u00d6zel Anahtar \u0130\u00e7in Dizin Olu\u015fturma<\/h3>\n<p>G\u00fcvenlik ve d\u00fczenlilik a\u00e7\u0131s\u0131ndan, SSL sertifikalar\u0131n\u0131z\u0131 ve \u00f6zel anahtarlar\u0131n\u0131z\u0131 Nginx&#8217;in yap\u0131land\u0131rma dizininde g\u00fcvenli bir yerde saklamak en iyisidir. Genellikle <code>\/etc\/nginx\/ssl<\/code> dizini bu ama\u00e7la kullan\u0131l\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki komutla bu dizini olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/etc\/nginx\/ssl<\/code><\/pre>\n<p><code>mkdir -p<\/code> komutu, e\u011fer \u00fcst dizinler mevcut de\u011filse onlar\u0131 da olu\u015fturur.<\/p>\n<h3>3. Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma<\/h3>\n<p>\u015eimdi <code>openssl<\/code> komutunu kullanarak kendi imzal\u0131 SSL sertifikan\u0131z\u0131 ve \u00f6zel anahtar\u0131n\u0131z\u0131 olu\u015fturaca\u011f\u0131z. OpenSSL, kriptografik i\u015flevler sa\u011flayan g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 arac\u0131d\u0131r ve \u00e7o\u011fu Linux da\u011f\u0131t\u0131m\u0131nda varsay\u0131lan olarak bulunur.<\/p>\n<p>A\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout \/etc\/nginx\/ssl\/nginx.key -out \/etc\/nginx\/ssl\/nginx.crt<\/code><\/pre>\n<p>Bu komutu detayl\u0131ca inceleyelim:<br \/>\n*   <code>sudo openssl<\/code>: OpenSSL arac\u0131n\u0131 y\u00f6netici yetkileriyle \u00e7al\u0131\u015ft\u0131rmak i\u00e7in.<br \/>\n*   <code>req<\/code>: Bir sertifika imzalama iste\u011fi (Certificate Signing Request &#8211; CSR) olu\u015fturmak veya bir sertifika olu\u015fturmak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>-x509<\/code>: Bu bayrak, sertifika imzalama iste\u011fi yerine do\u011frudan bir X.509 sertifikas\u0131 olu\u015fturaca\u011f\u0131m\u0131z\u0131 belirtir. Bu, kendi imzal\u0131 sertifikalar i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>-nodes<\/code>: &#8220;No DES&#8221; anlam\u0131na gelir. \u00d6zel anahtar\u0131n \u015fifrelenmemesini sa\u011flar. E\u011fer bu bayra\u011f\u0131 kullanmazsan\u0131z, Nginx her ba\u015flat\u0131ld\u0131\u011f\u0131nda \u00f6zel anahtar\u0131n \u015fifresini girmeniz istenir. Bu, otomatik ba\u015flang\u0131\u00e7 i\u00e7in uygun de\u011fildir.<br \/>\n*   <code>-days 365<\/code>: Sertifikan\u0131n ge\u00e7erlilik s\u00fcresini g\u00fcn cinsinden belirtir. Burada 365 g\u00fcn (1 y\u0131l) olarak ayarlanm\u0131\u015ft\u0131r. \u00dcretim ortamlar\u0131nda bu s\u00fcre genellikle daha uzundur, ancak kendi imzal\u0131 sertifikalar i\u00e7in bu yeterlidir.<br \/>\n*   <code>-newkey rsa:2048<\/code>: Yeni bir \u00f6zel anahtar olu\u015fturulaca\u011f\u0131n\u0131 belirtir. <code>rsa:2048<\/code> ise RSA algoritmas\u0131 kullanarak 2048 bit uzunlu\u011funda bir anahtar olu\u015fturulaca\u011f\u0131n\u0131 g\u00f6sterir. 2048 bit, g\u00fcn\u00fcm\u00fcz standartlar\u0131nda yeterince g\u00fcvenli kabul edilen bir anahtar uzunlu\u011fudur.<br \/>\n*   <code>-keyout \/etc\/nginx\/ssl\/nginx.key<\/code>: Olu\u015fturulan \u00f6zel anahtar\u0131n kaydedilece\u011fi dosya yolunu belirtir. Bu dosya, <code>nginx.key<\/code> ad\u0131yla <code>\/etc\/nginx\/ssl\/<\/code> dizinine kaydedilecektir. Bu dosya, sunucunuzun gizli anahtar\u0131d\u0131r ve kesinlikle g\u00fcvende tutulmal\u0131d\u0131r.<br \/>\n*   <code>-out \/etc\/nginx\/ssl\/nginx.crt<\/code>: Olu\u015fturulan sertifikan\u0131n kaydedilece\u011fi dosya yolunu belirtir. Bu dosya, <code>nginx.crt<\/code> ad\u0131yla ayn\u0131 dizine kaydedilecektir. Bu dosya, genel sertifikad\u0131r ve herkesle payla\u015f\u0131labilir.<\/p>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, OpenSSL size baz\u0131 sorular soracakt\u0131r. Bu bilgiler sertifikan\u0131n i\u00e7eri\u011finde yer alacakt\u0131r:<\/p>\n<pre><code class=\"language-\">You are about to be asked to enter information that will be incorporated\ninto your certificate request.\nWhat you are about to enter is what is called a Distinguished Name or a DN.\nThere are quite a few fields but you can leave some blank\nFor some fields there will be a default value,\nIf you enter '.', the field will be left blank.\n-----\nCountry Name (2 letter code) [AU]:TR\nState or Province Name (full name) [Some-State]:Istanbul\nLocality Name (eg, city) []:Istanbul\nOrganization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany\nOrganizational Unit Name (eg, section) []:IT\nCommon Name (e.g. server FQDN or YOUR name) []:your_domain.com veya sunucu_IP_adresi\nEmail Address []:admin@your_domain.com<\/code><\/pre>\n<p><strong>\u00d6nemli Not: <code>Common Name<\/code> (Ortak Ad) alan\u0131 \u00e7ok \u00f6nemlidir.<\/strong> Bu alana, Nginx&#8217;in hizmet verece\u011fi alan ad\u0131n\u0131 (\u00f6rne\u011fin, <code>example.com<\/code>, <code>www.example.com<\/code>) veya sunucunun IP adresini (\u00f6rne\u011fin, <code>192.168.1.100<\/code>) girmelisiniz. E\u011fer bu alana girdi\u011finiz de\u011fer, taray\u0131c\u0131n\u0131zdan eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z adresle e\u015fle\u015fmezse, taray\u0131c\u0131 bir &#8220;g\u00fcvenlik uyar\u0131s\u0131&#8221; veya &#8220;alan ad\u0131 uyu\u015fmazl\u0131\u011f\u0131&#8221; hatas\u0131 verecektir. E\u011fer sadece IP adresi \u00fczerinden eri\u015fim sa\u011flayacaksan\u0131z, buraya sunucunuzun IP adresini girmeniz gerekir. Geli\u015ftirme ortam\u0131nda <code>localhost<\/code> da girebilirsiniz.<\/p>\n<p>Di\u011fer alanlar\u0131 kendi bilgilerinize g\u00f6re doldurabilir veya varsay\u0131lan de\u011ferleri kabul edebilirsiniz. Genellikle bu alanlar kendi imzal\u0131 sertifikalar i\u00e7in kritik de\u011fildir, ancak <code>Common Name<\/code> hayati \u00f6neme sahiptir.<\/p>\n<p>Sertifika ve \u00f6zel anahtar dosyalar\u0131 ba\u015far\u0131yla olu\u015fturulduktan sonra, bu dosyalar\u0131n izinlerini kontrol etmek iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r. \u00d6zel anahtar (<code>.key<\/code> dosyas\u0131) sadece root kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo chmod 600 \/etc\/nginx\/ssl\/nginx.key\nsudo chmod 644 \/etc\/nginx\/ssl\/nginx.crt<\/code><\/pre>\n<p>Bu komutlar, \u00f6zel anahtar dosyas\u0131n\u0131n yaln\u0131zca sahibinin (root) okuma ve yazma iznine sahip olmas\u0131n\u0131, sertifika dosyas\u0131n\u0131n ise sahibinin okuma ve yazma, di\u011fer kullan\u0131c\u0131lar\u0131n ise sadece okuma iznine sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>4. Nginx Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>\u015eimdi Nginx&#8217;i yeni olu\u015fturdu\u011fumuz SSL sertifikas\u0131n\u0131 kullanacak \u015fekilde yap\u0131land\u0131rmam\u0131z gerekiyor. Bu, Nginx&#8217;in HTTPS isteklerini dinlemesini ve sertifikay\u0131 kullanarak \u015fifreli ba\u011flant\u0131lar kurmas\u0131n\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h4>4.1. Varsay\u0131lan Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme<\/h4>\n<p>Nginx&#8217;in varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/nginx\/sites-available\/default<\/code> konumundad\u0131r. Bu dosyay\u0131 d\u00fczenleyerek HTTPS deste\u011fini etkinle\u015ftirece\u011fiz.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/default<\/code><\/pre>\n<p>Dosyay\u0131 a\u00e7t\u0131ktan sonra, mevcut <code>server<\/code> blo\u011funu bulun veya yeni bir <code>server<\/code> blo\u011fu ekleyin. Genellikle, varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131nda HTTP (port 80) i\u00e7in bir <code>server<\/code> blo\u011fu bulunur ve HTTPS (port 443) i\u00e7in yorum sat\u0131r\u0131 halinde bir b\u00f6l\u00fcm bulunur.<\/p>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 (veya benzerini) <code>server<\/code> blo\u011funuza ekleyin veya mevcut yorum sat\u0131rlar\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 443 ssl default_server;\n    listen [::]:443 ssl default_server;\n\n    root \/var\/www\/html; # Web sitenizin k\u00f6k dizini\n    index index.html index.htm index.nginx-debian.html;\n\n    server_name your_domain.com www.your_domain.com; # Common Name ile e\u015fle\u015fmeli veya sunucu IP adresi\n\n    ssl_certificate \/etc\/nginx\/ssl\/nginx.crt;\n    ssl_certificate_key \/etc\/nginx\/ssl\/nginx.key;\n\n    # Opsiyonel: Daha g\u00fc\u00e7l\u00fc SSL\/TLS ayarlar\u0131\n    ssl_protocols TLSv1.2 TLSv1.3; # Yaln\u0131zca g\u00fcvenli protokolleri kullan\u0131n\n    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';\n    ssl_prefer_server_ciphers on;\n    ssl_session_cache shared:SSL:10m;\n    ssl_session_timeout 10m;\n    ssl_stapling on; # OCSP Stapling etkinle\u015ftirme\n    ssl_stapling_verify on;\n    resolver 8.8.8.8 8.8.4.4 valid=300s; # DNS \u00e7\u00f6z\u00fcmleyiciler (OCSP i\u00e7in)\n    resolver_timeout 5s;\n\n    # HTTP Strict Transport Security (HSTS) - Opsiyonel ama \u00f6nerilir\n    add_header Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\";\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n}\n\n<h2>Opsiyonel: HTTP isteklerini HTTPS'ye y\u00f6nlendirme<\/h2>\nserver {\n    listen 80 default_server;\n    listen [::]:80 default_server;\n    server_name your_domain.com www.your_domain.com; # Common Name ile e\u015fle\u015fmeli veya sunucu IP adresi\n    return 301 https:\/\/$host$request_uri;\n}<\/code><\/pre>\n<p>Yukar\u0131daki yap\u0131land\u0131rmadaki \u00f6nemli noktalar:<br \/>\n*   <code>listen 443 ssl default_server;<\/code>: Nginx&#8217;in 443 numaral\u0131 porttan (HTTPS i\u00e7in standart port) SSL\/TLS ba\u011flant\u0131lar\u0131n\u0131 dinlemesini sa\u011flar. <code>default_server<\/code> bu sunucu blo\u011funu, belirli bir <code>server_name<\/code> e\u015fle\u015fmedi\u011finde varsay\u0131lan olarak kullan\u0131r.<br \/>\n*   <code>ssl_certificate \/etc\/nginx\/ssl\/nginx.crt;<\/code>: Olu\u015fturdu\u011fumuz sertifika dosyas\u0131n\u0131n yolunu belirtir.<br \/>\n*   <code>ssl_certificate_key \/etc\/nginx\/ssl\/nginx.key;<\/code>: Olu\u015fturdu\u011fumuz \u00f6zel anahtar dosyas\u0131n\u0131n yolunu belirtir.<br \/>\n*   <code>server_name your_domain.com www.your_domain.com;<\/code>: Buraya sertifikay\u0131 olu\u015ftururken <code>Common Name<\/code> alan\u0131na girdi\u011finiz de\u011feri (alan ad\u0131 veya IP adresi) yazmal\u0131s\u0131n\u0131z.<br \/>\n*   <strong>Opsiyonel G\u00fc\u00e7l\u00fc SSL Ayarlar\u0131:<\/strong> Bu b\u00f6l\u00fcm, HTTPS ba\u011flant\u0131n\u0131z\u0131n g\u00fcvenli\u011fini art\u0131rmak i\u00e7in \u00f6nerilen bir dizi ayar\u0131 i\u00e7erir.<br \/>\n    *   <code>ssl_protocols<\/code>: Yaln\u0131zca modern ve g\u00fcvenli TLS protokollerini (TLSv1.2 ve TLSv1.3) kullan\u0131r. Eski ve zay\u0131f SSL\/TLS s\u00fcr\u00fcmlerini devre d\u0131\u015f\u0131 b\u0131rak\u0131r.<br \/>\n    *   <code>ssl_ciphers<\/code>: G\u00fcvenli \u015fifreleme algoritmalar\u0131n\u0131 (cipher suites) belirtir. Bu liste, bilinen zay\u0131f algoritmalar\u0131 d\u0131\u015far\u0131da b\u0131rak\u0131r.<br \/>\n    *   <code>ssl_prefer_server_ciphers on;<\/code>: Sunucunun \u015fifreleme algoritmas\u0131 se\u00e7iminde \u00f6ncelikli olmas\u0131n\u0131 sa\u011flar.<br \/>\n    *   <code>ssl_session_cache<\/code> ve <code>ssl_session_timeout<\/code>: SSL oturum \u00f6nbelle\u011fini etkinle\u015ftirerek performans art\u0131\u015f\u0131 sa\u011flar.<br \/>\n    *   <code>ssl_stapling on;<\/code> ve <code>ssl_stapling_verify on;<\/code>: OCSP Stapling&#8217;i etkinle\u015ftirir. Bu, taray\u0131c\u0131lar\u0131n sertifikan\u0131n iptal durumunu kontrol etme h\u0131z\u0131n\u0131 art\u0131r\u0131r ve gizlili\u011fi iyile\u015ftirir.<br \/>\n    *   <code>resolver<\/code>: OCSP Stapling i\u00e7in DNS \u00e7\u00f6z\u00fcmleyicileri belirtir.<br \/>\n    *   <code>add_header Strict-Transport-Security ...<\/code>: HTTP Strict Transport Security (HSTS) ba\u015fl\u0131\u011f\u0131n\u0131 ekler. Bu, taray\u0131c\u0131lara sitenize her zaman HTTPS \u00fczerinden ba\u011flanmalar\u0131 gerekti\u011fini bildirir ve gelecekteki HTTP isteklerini otomatik olarak HTTPS&#8217;ye d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu, sitenizi man-in-the-middle sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korur.<\/p>\n<p>*   <strong>Opsiyonel HTTP&#8217;den HTTPS&#8217;ye Y\u00f6nlendirme:<\/strong> Bu ikinci <code>server<\/code> blo\u011fu, 80 numaral\u0131 porttan (HTTP) gelen t\u00fcm istekleri otomatik olarak 443 numaral\u0131 porta (HTTPS) y\u00f6nlendirir. Bu, kullan\u0131c\u0131lar\u0131n sitenize yanl\u0131\u015fl\u0131kla HTTP \u00fczerinden eri\u015fmesini engeller ve her zaman g\u00fcvenli ba\u011flant\u0131 kullanmalar\u0131n\u0131 sa\u011flar. <code>your_domain.com<\/code> yerine kendi alan ad\u0131n\u0131z\u0131 veya IP adresinizi yazmay\u0131 unutmay\u0131n.<\/p>\n<p>De\u011fi\u015fiklikleri kaydetmek i\u00e7in <code>CTRL+X<\/code>, ard\u0131ndan <code>Y<\/code> ve <code>Enter<\/code> tu\u015flar\u0131na bas\u0131n.<\/p>\n<h4>4.2. Nginx Yap\u0131land\u0131rma Testi ve Yeniden Ba\u015flatma<\/h4>\n<p>Yap\u0131land\u0131rma dosyas\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin bir hata i\u00e7ermedi\u011finden emin olmak i\u00e7in Nginx yap\u0131land\u0131rmas\u0131n\u0131 test etmelisiniz:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, \u015f\u00f6yle bir \u00e7\u0131kt\u0131 g\u00f6rmelisiniz:<\/p>\n<pre><code class=\"language-\">nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok\nnginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/code><\/pre>\n<p>Herhangi bir hata mesaj\u0131 al\u0131rsan\u0131z, yap\u0131land\u0131rma dosyan\u0131z\u0131 tekrar kontrol edin ve hatalar\u0131 d\u00fczeltin.<br \/>\nYap\u0131land\u0131rma testi ba\u015far\u0131l\u0131 olduktan sonra, Nginx servisini yeniden ba\u015flatarak de\u011fi\u015fikliklerin etkinle\u015fmesini sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<h3>5. G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (Opsiyonel)<\/h3>\n<p>E\u011fer UFW g\u00fcvenlik duvar\u0131n\u0131 kullan\u0131yorsan\u0131z ve daha \u00f6nce HTTPS i\u00e7in izin vermediyseniz, \u015fimdi 443 numaral\u0131 port i\u00e7in izin vermelisiniz.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTPS'\nsudo ufw reload\nsudo ufw status<\/code><\/pre>\n<p><code>sudo ufw status<\/code> komutu, <code>Nginx Full<\/code> (HTTP ve HTTPS) veya <code>Nginx HTTPS<\/code> kural\u0131n\u0131n etkin oldu\u011funu g\u00f6stermelidir.<\/p>\n<h3>6. Taray\u0131c\u0131da Test Etme<\/h3>\n<p>Art\u0131k Nginx sunucunuz kendi imzal\u0131 SSL sertifikas\u0131n\u0131 kullanarak HTTPS \u00fczerinden hizmet veriyor olmal\u0131d\u0131r. Taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve <code>https:\/\/your_domain.com<\/code> veya <code>https:\/\/your_server_ip_address<\/code> adresine gidin (sertifika olu\u015ftururken Common Name olarak ne girdiyseniz onu kullan\u0131n).<\/p>\n<p>Taray\u0131c\u0131n\u0131z muhtemelen bir g\u00fcvenlik uyar\u0131s\u0131 g\u00f6sterecektir. Bu uyar\u0131, &#8220;Ba\u011flant\u0131n\u0131z \u00f6zel de\u011fil&#8221;, &#8220;NET::ERR_CERT_AUTHORITY_INVALID&#8221; veya benzeri bir mesaj olabilir. Bu tamamen normaldir ve beklenen bir davran\u0131\u015ft\u0131r. \u00c7\u00fcnk\u00fc sertifikan\u0131z, taray\u0131c\u0131n\u0131z\u0131n g\u00fcvendi\u011fi bir Sertifika Yetkilisi taraf\u0131ndan imzalanmam\u0131\u015ft\u0131r.<\/p>\n<p>Bu uyar\u0131y\u0131 ge\u00e7mek i\u00e7in, genellikle &#8220;Geli\u015fmi\u015f&#8221; veya &#8220;Daha Fazla Bilgi&#8221; se\u00e7ene\u011fine t\u0131klayarak &#8220;devam et&#8221; veya &#8220;siteye git&#8221; gibi bir se\u00e7ene\u011fi se\u00e7meniz gerekir. \u00d6rne\u011fin, Chrome&#8217;da &#8220;Geli\u015fmi\u015f&#8221; butonuna, ard\u0131ndan &#8220;g\u00fcvenli olmayan \u015fekilde devam et&#8221; veya &#8220;IP adresine ilerle&#8221; (Proceed to IP address) gibi bir se\u00e7ene\u011fe t\u0131klayabilirsiniz.<\/p>\n<p>Uyar\u0131y\u0131 ge\u00e7tikten sonra, Nginx&#8217;in &#8220;Welcome to Nginx!&#8221; sayfas\u0131n\u0131 HTTPS \u00fczerinden g\u00f6rmelisiniz. Taray\u0131c\u0131n\u0131z\u0131n adres \u00e7ubu\u011funda genellikle bir kilit simgesi yerine &#8220;G\u00fcvenli De\u011fil&#8221; veya &#8220;Not Secure&#8221; gibi bir uyar\u0131 g\u00f6receksiniz. Bu, sertifikan\u0131n kendi imzal\u0131 olmas\u0131ndan kaynaklan\u0131r.<\/p>\n<p><strong>Sertifikay\u0131 Taray\u0131c\u0131ya Ekleme (Opsiyonel):<\/strong><br \/>\nE\u011fer bu sunucuyu s\u00fcrekli kullanacak ve bu uyar\u0131y\u0131 g\u00f6rmek istemiyorsan\u0131z (\u00f6zellikle dahili uygulamalar i\u00e7in), olu\u015fturdu\u011funuz <code>.crt<\/code> dosyas\u0131n\u0131 taray\u0131c\u0131n\u0131z\u0131n veya i\u015fletim sisteminizin g\u00fcvenilen k\u00f6k sertifikalar\u0131 deposuna manuel olarak ekleyebilirsiniz. Bu i\u015flem taray\u0131c\u0131dan taray\u0131c\u0131ya ve i\u015fletim sisteminden i\u015fletim sistemine farkl\u0131l\u0131k g\u00f6sterir. \u00d6rne\u011fin:<br \/>\n*   <strong>Firefox:<\/strong> Ayarlar -> Gizlilik ve G\u00fcvenlik -> Sertifikalar\u0131 G\u00f6r\u00fcnt\u00fcle -> Yetkililer -> \u0130\u00e7eri Aktar&#8230;<br \/>\n*   <strong>Chrome (Linux):<\/strong> Chrome, i\u015fletim sisteminin sertifika deposunu kullan\u0131r. Sertifikay\u0131 sisteme eklemeniz gerekir.<br \/>\n*   <strong>Windows:<\/strong> Sertifikay\u0131 \u00e7ift t\u0131klayarak y\u00fckleme sihirbaz\u0131n\u0131 kullanabilirsiniz.<\/p>\n<p>Bu ad\u0131m\u0131 genellikle sadece test veya dahili kullan\u0131m i\u00e7in yapman\u0131z \u00f6nerilir. \u00dcretim ortamlar\u0131nda her zaman g\u00fcvenilir bir CA taraf\u0131ndan imzalanm\u0131\u015f sertifikalar kullanmal\u0131s\u0131n\u0131z.<\/p>\n<h3>7. Sertifika Yenileme<\/h3>\n<p>Kendi imzal\u0131 sertifikam\u0131z\u0131n ge\u00e7erlilik s\u00fcresi 365 g\u00fcn (1 y\u0131l) olarak ayarlanm\u0131\u015ft\u0131r. S\u00fcre doldu\u011funda sertifika ge\u00e7ersiz hale gelecek ve taray\u0131c\u0131lar daha ciddi hatalar vermeye ba\u015flayacakt\u0131r. Sertifikan\u0131z\u0131 yenilemek i\u00e7in, basit\u00e7e \u00fc\u00e7\u00fcnc\u00fc ad\u0131mda kulland\u0131\u011f\u0131n\u0131z <code>openssl<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout \/etc\/nginx\/ssl\/nginx.key -out \/etc\/nginx\/ssl\/nginx.crt<\/code><\/pre>\n<p>Bu komut, mevcut <code>nginx.key<\/code> ve <code>nginx.crt<\/code> dosyalar\u0131n\u0131n \u00fczerine yazarak yeni bir sertifika ve anahtar \u00e7ifti olu\u015fturacakt\u0131r. Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra tekrar ayn\u0131 sorular\u0131 yan\u0131tlaman\u0131z gerekecektir. \u00d6zellikle <code>Common Name<\/code> alan\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<\/p>\n<p>Yeni sertifikay\u0131 olu\u015fturduktan sonra, Nginx&#8217;i yeniden ba\u015flatman\u0131z gerekir ki yeni sertifikay\u0131 y\u00fcklesin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<p>Bu i\u015flem, sertifikan\u0131z\u0131n ge\u00e7erlilik s\u00fcresini bir y\u0131l daha uzatacakt\u0131r.<\/p>\n<h3>8. Ek G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>Kendi imzal\u0131 sertifikalar geli\u015ftirme ve test ortamlar\u0131 i\u00e7in kullan\u0131\u015fl\u0131 olsa da, genel g\u00fcvenlik uygulamalar\u0131n\u0131 g\u00f6z ard\u0131 etmemek \u00f6nemlidir.<\/p>\n<p>*   <strong>Dosya \u0130zinleri:<\/strong> \u00d6zel anahtar dosyan\u0131z (<code>.key<\/code> uzant\u0131l\u0131) kesinlikle gizli tutulmal\u0131d\u0131r. Yaln\u0131zca root kullan\u0131c\u0131s\u0131n\u0131n okuma\/yazma iznine sahip oldu\u011fundan emin olun (<code>chmod 600<\/code>). Sertifika dosyas\u0131 (<code>.crt<\/code> uzant\u0131l\u0131) ise herkes taraf\u0131ndan okunabilir olabilir (<code>chmod 644<\/code>). Bu izinler, yetkisiz eri\u015fimi engeller.<br \/>\n*   <strong>G\u00fc\u00e7l\u00fc \u015eifreler ve Protokoller:<\/strong> Nginx yap\u0131land\u0131rman\u0131zda <code>ssl_protocols<\/code> ve <code>ssl_ciphers<\/code> direktiflerini kullanarak yaln\u0131zca en g\u00fcvenli TLS protokollerini (TLSv1.2, TLSv1.3) ve g\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131n\u0131 kulland\u0131\u011f\u0131n\u0131zdan emin olun. Eski ve zay\u0131f protokoller (SSLv3, TLSv1.0, TLSv1.1) ve \u015fifreler g\u00fcvenlik a\u00e7\u0131klar\u0131 i\u00e7erebilir. Yukar\u0131daki \u00f6rnek yap\u0131land\u0131rma, modern ve g\u00fcvenli bir yakla\u015f\u0131m sunar.<br \/>\n*   <strong>HTTP Strict Transport Security (HSTS):<\/strong> <code>add_header Strict-Transport-Security<\/code> direktifi, taray\u0131c\u0131lara sitenize yaln\u0131zca HTTPS \u00fczerinden eri\u015fmeleri gerekti\u011fini bildirir. Bu, kullan\u0131c\u0131lar\u0131n sitenize yanl\u0131\u015fl\u0131kla veya k\u00f6t\u00fc niyetli bir sald\u0131r\u0131 sonucu HTTP \u00fczerinden eri\u015fmesini engeller ve SSL soyma sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar. Uzun bir <code>max-age<\/code> de\u011feri kullanmak \u00f6nemlidir.<br \/>\n*   <strong>OCSP Stapling:<\/strong> <code>ssl_stapling on;<\/code> ve <code>ssl_stapling_verify on;<\/code> direktifleri, taray\u0131c\u0131lar\u0131n sertifikan\u0131n iptal edilip edilmedi\u011fini do\u011frudan sunucudan \u00f6\u011frenmesini sa\u011flar. Bu, gizlili\u011fi art\u0131r\u0131r ve sayfa y\u00fckleme s\u00fcrelerini iyile\u015ftirir.<br \/>\n*   <strong>Nginx G\u00fcncellemeleri:<\/strong> Nginx ve Debian i\u015fletim sistemini d\u00fczenli olarak g\u00fcncel tutmak, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n kapat\u0131lmas\u0131 a\u00e7\u0131s\u0131ndan hayati \u00f6neme sahiptir.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\n    sudo apt upgrade<\/code><\/pre>\n<p>*   <strong>\u00dcretim Ortamlar\u0131 \u0130\u00e7in CA \u0130mzal\u0131 Sertifikalar:<\/strong> Bu rehberde kendi imzal\u0131 bir sertifika olu\u015fturmay\u0131 \u00f6\u011frenmi\u015f olsan\u0131z da, canl\u0131 ve herkese a\u00e7\u0131k \u00fcretim ortamlar\u0131 i\u00e7in her zaman g\u00fcvenilir bir Sertifika Yetkilisi (CA) taraf\u0131ndan imzalanm\u0131\u015f bir sertifika kullanmal\u0131s\u0131n\u0131z. Let&#8217;s Encrypt, \u00fccretsiz ve otomatikle\u015ftirilmi\u015f sertifikalar sunarak bu ihtiyac\u0131 kar\u015f\u0131lamak i\u00e7in harika bir se\u00e7enektir. CA imzal\u0131 sertifikalar, taray\u0131c\u0131lar taraf\u0131ndan otomatik olarak g\u00fcvenilir kabul edilir ve kullan\u0131c\u0131lar\u0131n\u0131za herhangi bir g\u00fcvenlik uyar\u0131s\u0131 g\u00f6stermez.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Debian 10 i\u015fletim sistemi \u00fczerinde Nginx web sunucusu i\u00e7in kendi imzal\u0131 bir SSL sertifikas\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. Kendi imzal\u0131 sertifikalar, geli\u015ftirme, test veya dahili a\u011f uygulamalar\u0131 gibi belirli senaryolar i\u00e7in pratik ve maliyetsiz bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<p>Sertifika olu\u015fturma s\u00fcrecinde <code>openssl<\/code> komutunun nas\u0131l kullan\u0131laca\u011f\u0131n\u0131, Nginx yap\u0131land\u0131rma dosyas\u0131nda hangi direktiflerin ayarlanmas\u0131 gerekti\u011fini ve HTTP isteklerini HTTPS&#8217;ye nas\u0131l y\u00f6nlendirece\u011finizi detayl\u0131ca inceledik. Ayr\u0131ca, g\u00fc\u00e7l\u00fc SSL\/TLS ayarlar\u0131 ve HSTS gibi ek g\u00fcvenlik \u00f6nlemlerinin \u00f6nemini de vurgulad\u0131k.<\/p>\n<p>Unutmay\u0131n ki kendi imzal\u0131 sertifikalar, taray\u0131c\u0131lar taraf\u0131ndan varsay\u0131lan olarak g\u00fcvenilir kabul edilmez ve kullan\u0131c\u0131lar\u0131n\u0131za g\u00fcvenlik uyar\u0131lar\u0131 g\u00f6sterecektir. Bu nedenle, herkese a\u00e7\u0131k ve ticari \u00fcretim ortamlar\u0131 i\u00e7in her zaman Let&#8217;s Encrypt gibi g\u00fcvenilir bir Sertifika Yetkilisi taraf\u0131ndan imzalanm\u0131\u015f sertifikalar\u0131 tercih etmelisiniz.<\/p>\n<p>Bu rehber, Nginx ve SSL\/TLS g\u00fcvenli\u011finin temel prensiplerini anlaman\u0131z i\u00e7in sa\u011flam bir temel olu\u015fturmu\u015ftur. G\u00fcvenli web uygulamalar\u0131 geli\u015ftirme yolculu\u011funuzda bu bilgilerin size faydal\u0131 olaca\u011f\u0131n\u0131 umuyoruz. G\u00fcvenli\u011finizi sa\u011flamak i\u00e7in her zaman en iyi uygulamalar\u0131 takip etmeyi ve sistemlerinizi d\u00fczenli olarak g\u00fcncellemeyi unutmay\u0131n.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi\n\u0130nternet \u00fczerindeki veri g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-33211","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi\" \/>\n<meta property=\"og:description\" content=\"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi \u0130nternet \u00fczerindeki veri g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-31T01:40:52+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi\",\"datePublished\":\"2025-10-31T01:40:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/\"},\"wordCount\":2928,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/\",\"name\":\"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-31T01:40:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi","og_description":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi \u0130nternet \u00fczerindeki veri g\u00fcvenli\u011fi, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas","og_url":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-31T01:40:52+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi","datePublished":"2025-10-31T01:40:52+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/"},"wordCount":2928,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/","name":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-31T01:40:52+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-debian-10-uzerinde-kendi-imzali-ssl-sertifikasi-olusturma-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Nginx ve Debian 10 \u00dczerinde Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33211"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33211\/revisions"}],"predecessor-version":[{"id":33212,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33211\/revisions\/33212"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}