{"id":34328,"date":"2025-11-15T06:40:48","date_gmt":"2025-11-15T03:40:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34328"},"modified":"2025-11-15T06:40:48","modified_gmt":"2025-11-15T03:40:48","slug":"ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/","title":{"rendered":"Ubuntu 16.04&#8217;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04&#8217;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda g\u00fcvenlik, web uygulamalar\u0131 ve sunucular i\u00e7in vazge\u00e7ilmez bir unsurdur. Kullan\u0131c\u0131 verilerinin korunmas\u0131, veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fcn sa\u011flanmas\u0131 ve sunucu ile istemci aras\u0131ndaki ileti\u015fimin \u015fifrelenmesi, modern web standartlar\u0131n\u0131n temelini olu\u015fturur. Bu ba\u011flamda, Secure Sockets Layer (SSL) ve onun daha modern halefi Transport Layer Security (TLS) protokolleri, web trafi\u011fini \u015fifrelemek i\u00e7in kullan\u0131lan kritik teknolojilerdir. Bir SSL\/TLS sertifikas\u0131, bir web sitesinin kimli\u011fini do\u011frular ve sunucu ile taray\u0131c\u0131 aras\u0131nda \u015fifreli bir ba\u011flant\u0131 kurulmas\u0131n\u0131 sa\u011flar. Bu sayede, hassas bilgiler (kredi kart\u0131 numaralar\u0131, parolalar vb.) k\u00f6t\u00fc niyetli \u00fc\u00e7\u00fcnc\u00fc \u015fah\u0131slar taraf\u0131ndan ele ge\u00e7irilmeye kar\u015f\u0131 korunmu\u015f olur.<\/p>\n<p>Nginx, y\u00fcksek performansl\u0131, kararl\u0131 ve esnek bir web sunucusu ve ters proxy&#8217;dir. D\u00fcnya genelindeki en pop\u00fcler web sunucular\u0131ndan biri olan Nginx, statik i\u00e7erik sunmaktan dinamik uygulamalar\u0131 y\u00f6netmeye kadar geni\u015f bir yelpazede kullan\u0131lmaktad\u0131r. Ubuntu 16.04 ise, kararl\u0131l\u0131\u011f\u0131 ve geni\u015f paket deste\u011fi ile sunucu ortamlar\u0131 i\u00e7in s\u0131k\u00e7a tercih edilen bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Bu makale, Ubuntu 16.04 \u00fczerinde \u00e7al\u0131\u015fan bir Nginx sunucusu i\u00e7in kendi imzal\u0131 (self-signed) SSL sertifikas\u0131 olu\u015fturma ve yap\u0131land\u0131rma s\u00fcrecini ad\u0131m ad\u0131m detayland\u0131racakt\u0131r. Kendi imzal\u0131 sertifikalar, genellikle geli\u015ftirme ortamlar\u0131nda, dahili a\u011flarda veya test ama\u00e7l\u0131 kullan\u0131l\u0131r, zira taray\u0131c\u0131lar taraf\u0131ndan otomatik olarak g\u00fcvenilir kabul edilmezler ve bir uyar\u0131 mesaj\u0131 g\u00f6sterirler. Ancak, temel SSL\/TLS i\u015flevselli\u011fini anlamak ve uygulamak i\u00e7in m\u00fckemmel bir ba\u015flang\u0131\u00e7 noktas\u0131 sunarlar. Bu makale boyunca, OpenSSL arac\u0131n\u0131 kullanarak bir \u00f6zel anahtar ve sertifika olu\u015fturacak, Nginx&#8217;i bu sertifikay\u0131 kullanacak \u015fekilde yap\u0131land\u0131racak ve son olarak kurulumu test edece\u011fiz.<\/p>\n<h3>Neden Kendi \u0130mzal\u0131 SSL Sertifikas\u0131?<\/h3>\n<p>SSL\/TLS sertifikalar\u0131 genellikle Let&#8217;s Encrypt gibi \u00fccretsiz sertifika sa\u011flay\u0131c\u0131lar\u0131ndan veya Comodo, DigiCert gibi ticari Sertifika Yetkililerinden (CA) al\u0131n\u0131r. Bu sertifikalar, taray\u0131c\u0131lar taraf\u0131ndan otomatik olarak g\u00fcvenilir kabul edilir \u00e7\u00fcnk\u00fc sertifikay\u0131 veren CA, taray\u0131c\u0131lar\u0131n g\u00fcvendi\u011fi bir k\u00f6k sertifika otoritesidir. Ancak, kendi imzal\u0131 sertifikalar\u0131n da belirli kullan\u0131m durumlar\u0131 ve avantajlar\u0131 vard\u0131r:<\/p>\n<p>*   <strong>Maliyet Etkinli\u011fi:<\/strong> Kendi imzal\u0131 sertifikalar \u00fccretsizdir. Bir sertifika yetkilisine \u00f6deme yapman\u0131za gerek kalmaz.<br \/>\n*   <strong>H\u0131zl\u0131 Kurulum:<\/strong> Bir CA&#8217;dan sertifika alma s\u00fcreci, do\u011frulama ad\u0131mlar\u0131 gerektirdi\u011finden biraz zaman alabilir. Kendi imzal\u0131 sertifikay\u0131 an\u0131nda olu\u015fturabilirsiniz.<br \/>\n*   <strong>Geli\u015ftirme ve Test Ortamlar\u0131:<\/strong> Canl\u0131 bir \u00fcretim ortam\u0131nda olmasa da, bir uygulaman\u0131n HTTPS \u00fczerinden nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmek i\u00e7in idealdir. Geli\u015ftiriciler, uygulaman\u0131n SSL\/TLS yap\u0131land\u0131rmas\u0131n\u0131, y\u00f6nlendirmeleri ve di\u011fer g\u00fcvenlik \u00f6zelliklerini kendi imzal\u0131 sertifikalarla test edebilirler.<br \/>\n*   <strong>Dahili A\u011flar ve Intranet Uygulamalar\u0131:<\/strong> \u015eirket i\u00e7i a\u011flarda veya sadece belirli bir grup kullan\u0131c\u0131 taraf\u0131ndan eri\u015filen intranet uygulamalar\u0131nda, sertifika g\u00fcvenini manuel olarak ekleyebilece\u011finiz durumlarda kendi imzal\u0131 sertifikalar kullan\u0131labilir. Bu t\u00fcr ortamlarda, harici bir CA&#8217;ya ihtiya\u00e7 duyulmaz.<br \/>\n*   <strong>Temel SSL\/TLS Bilgisi Edinme:<\/strong> Kendi imzal\u0131 sertifika olu\u015fturma s\u00fcreci, SSL\/TLS protokol\u00fcn\u00fcn nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131, \u00f6zel anahtarlar\u0131n ve genel anahtarlar\u0131n rol\u00fc, sertifika imzalama s\u00fcreci gibi temel kavramlar\u0131 anlamak i\u00e7in pratik bir yol sunar.<\/p>\n<p>Ancak, kendi imzal\u0131 sertifikalar\u0131n \u00f6nemli bir dezavantaj\u0131 vard\u0131r: taray\u0131c\u0131lar taraf\u0131ndan g\u00fcvenilir kabul edilmezler. Bir kullan\u0131c\u0131 kendi imzal\u0131 sertifika kullanan bir siteye eri\u015fti\u011finde, taray\u0131c\u0131 genellikle &#8220;Ba\u011flant\u0131n\u0131z g\u00fcvenli de\u011fil&#8221; veya benzeri bir uyar\u0131 mesaj\u0131 g\u00f6sterir. Bu, sertifikan\u0131n bir CA taraf\u0131ndan do\u011frulanmad\u0131\u011f\u0131 ve dolay\u0131s\u0131yla site kimli\u011finin garanti edilmedi\u011fi anlam\u0131na gelir. \u00dcretim ortamlar\u0131nda, \u00f6zellikle genel kullan\u0131ma a\u00e7\u0131k web sitelerinde, bu uyar\u0131 kullan\u0131c\u0131 g\u00fcvenini zedeleyece\u011fi i\u00e7in kesinlikle ticari veya Let&#8217;s Encrypt gibi \u00fccretsiz CA sertifikalar\u0131 tercih edilmelidir.<\/p>\n<h3>\u00d6nko\u015fullar<\/h3>\n<p>Bu makaledeki ad\u0131mlar\u0131 uygulayabilmek i\u00e7in a\u015fa\u011f\u0131daki \u00f6nko\u015fullara sahip olman\u0131z gerekmektedir:<\/p>\n<p>*   <strong>Ubuntu 16.04 Sunucusu:<\/strong> Bu makale, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fmak \u00fczere tasarlanm\u0131\u015ft\u0131r. Farkl\u0131 bir Linux da\u011f\u0131t\u0131m\u0131 veya s\u00fcr\u00fcm\u00fc kullan\u0131yorsan\u0131z, baz\u0131 komutlar veya dosya yollar\u0131 farkl\u0131l\u0131k g\u00f6sterebilir.<br \/>\n*   <strong>Sudo Yetkisine Sahip Bir Kullan\u0131c\u0131:<\/strong> Sunucuda komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>sudo<\/code> yetkisine sahip bir kullan\u0131c\u0131 hesab\u0131n\u0131z olmal\u0131d\u0131r.<br \/>\n*   <strong>Nginx Kurulumu:<\/strong> Nginx web sunucusunun sunucunuza kurulu olmas\u0131 gerekmektedir. E\u011fer kurulu de\u011filse, ilk ad\u0131mda kurulumunu ger\u00e7ekle\u015ftirece\u011fiz.<br \/>\n*   <strong>Temel Linux Komut Bilgisi:<\/strong> <code>cd<\/code>, <code>ls<\/code>, <code>mkdir<\/code>, <code>nano<\/code> (veya tercih etti\u011finiz ba\u015fka bir metin d\u00fczenleyici), <code>sudo<\/code> gibi temel Linux komutlar\u0131na a\u015fina olman\u0131z beklenir.<br \/>\n*   <strong>A\u00e7\u0131k Port 443:<\/strong> G\u00fcvenlik duvar\u0131n\u0131zda HTTPS trafi\u011fi i\u00e7in varsay\u0131lan port olan 443&#8217;\u00fcn a\u00e7\u0131k olmas\u0131 gerekmektedir.<\/p>\n<h3>Ad\u0131m 1: Nginx Kurulumu<\/h3>\n<p>E\u011fer Nginx sunucunuzda kurulu de\u011filse, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyerek kurabilirsiniz. \u0130lk olarak, paket listesini g\u00fcncelleyelim ve ard\u0131ndan Nginx&#8217;i kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install nginx -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Nginx servisinin otomatik olarak ba\u015flamas\u0131 gerekir. Durumunu kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status nginx<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ibaresini g\u00f6rmelisiniz. E\u011fer \u00e7al\u0131\u015fm\u0131yorsa, <code>sudo systemctl start nginx<\/code> komutuyla ba\u015flatabilirsiniz. Ayr\u0131ca, web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresine giderek Nginx&#8217;in varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6r\u00fcp g\u00f6rmedi\u011finizi kontrol edebilirsiniz.<\/p>\n<h3>Ad\u0131m 2: SSL Sertifikas\u0131 \u0130\u00e7in Dizin Olu\u015fturma<\/h3>\n<p>SSL sertifikalar\u0131 ve \u00f6zel anahtarlar\u0131n saklanmas\u0131 i\u00e7in genellikle <code>\/etc\/ssl<\/code> dizini alt\u0131nda \u00f6zel bir yap\u0131land\u0131rma tercih edilir. G\u00fcvenlik ve d\u00fczen a\u00e7\u0131s\u0131ndan, Nginx&#8217;in kendi imzal\u0131 sertifikas\u0131n\u0131 ve anahtar\u0131n\u0131 saklamak i\u00e7in ayr\u0131 bir dizin olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/etc\/nginx\/ssl<\/code><\/pre>\n<p>Bu komut, <code>\/etc\/nginx<\/code> dizini alt\u0131nda <code>ssl<\/code> ad\u0131nda bir dizin olu\u015fturacakt\u0131r. <code>-p<\/code> parametresi, \u00fcst dizinlerin (bu durumda <code>\/etc\/nginx<\/code>) mevcut olmamas\u0131 durumunda otomatik olarak olu\u015fturulmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Ad\u0131m 3: Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 ve \u00d6zel Anahtar Olu\u015fturma<\/h3>\n<p>\u015eimdi OpenSSL arac\u0131n\u0131 kullanarak kendi imzal\u0131 SSL sertifikam\u0131z\u0131 ve \u00f6zel anahtar\u0131m\u0131z\u0131 olu\u015fturaca\u011f\u0131z. OpenSSL, \u015fifreleme ve sertifika y\u00f6netimi i\u00e7in g\u00fc\u00e7l\u00fc ve \u00e7ok y\u00f6nl\u00fc bir komut sat\u0131r\u0131 arac\u0131d\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki komutu kullanarak hem \u00f6zel anahtar\u0131 hem de sertifikay\u0131 tek bir ad\u0131mda olu\u015fturabiliriz:<\/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 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, size sertifika bilgileriyle ilgili baz\u0131 sorular sorulacakt\u0131r. Bu sorulara verece\u011finiz cevaplar sertifikan\u0131n i\u00e7eri\u011finde yer alacakt\u0131r.<\/p>\n<h4>Sertifika Bilgileri<\/h4>\n<p>Komut \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131ktan sonra a\u015fa\u011f\u0131daki gibi bir dizi soru ile kar\u015f\u0131la\u015facaks\u0131n\u0131z:<\/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) []:example.com\nEmail Address []:admin@example.com<\/code><\/pre>\n<p>Bu alanlar\u0131 kendi bilgilerinize g\u00f6re doldurabilirsiniz.<br \/>\n*   <strong>Country Name (2 letter code):<\/strong> \u00dclke kodu (\u00f6rn: TR, US).<br \/>\n*   <strong>State or Province Name (full name):<\/strong> Eyalet veya il ad\u0131 (\u00f6rn: Istanbul).<br \/>\n*   <strong>Locality Name (eg, city):<\/strong> \u015eehir ad\u0131 (\u00f6rn: Istanbul).<br \/>\n*   <strong>Organization Name (eg, company):<\/strong> \u015eirket veya organizasyon ad\u0131 (\u00f6rn: MyCompany).<br \/>\n*   <strong>Organizational Unit Name (eg, section):<\/strong> Organizasyonel birim (\u00f6rn: IT).<br \/>\n*   <strong>Common Name (e.g. server FQDN or YOUR name):<\/strong> Bu, sertifikan\u0131n verilece\u011fi alan ad\u0131d\u0131r. Test ama\u00e7l\u0131 olarak sunucunuzun IP adresini veya <code>example.com<\/code> gibi bir alan ad\u0131n\u0131 kullanabilirsiniz. E\u011fer canl\u0131 bir alan ad\u0131 kullan\u0131yorsan\u0131z, buraya o alan ad\u0131n\u0131 girmeniz \u00f6nemlidir.<br \/>\n*   <strong>Email Address:<\/strong> \u0130leti\u015fim e-posta adresi.<\/p>\n<h4>\u00d6nemli Parametreler<\/h4>\n<p>Yukar\u0131daki OpenSSL komutunda kullan\u0131lan parametrelerin anlamlar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <code>-req<\/code>: Yeni bir Sertifika \u0130mzalama \u0130ste\u011fi (CSR) olu\u015fturulaca\u011f\u0131n\u0131 belirtir. <code>-x509<\/code> ile birlikte kullan\u0131ld\u0131\u011f\u0131nda, do\u011frudan bir sertifika olu\u015fturur.<br \/>\n*   <code>-x509<\/code>: Bu, bir sertifika imzalama iste\u011fi olu\u015fturmak yerine, do\u011frudan kendi imzal\u0131 bir sertifika olu\u015fturaca\u011f\u0131m\u0131z\u0131 belirtir. Bu sertifika, kendi \u00f6zel anahtar\u0131m\u0131zla imzalan\u0131r.<br \/>\n*   <code>-nodes<\/code>: &#8220;no DES&#8221; anlam\u0131na gelir. Bu parametre, \u00f6zel anahtar\u0131n \u015fifrelenmemesini sa\u011flar. \u00d6zel anahtar\u0131n \u015fifrelenmesi, her Nginx yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda bir parola girmenizi gerektirece\u011finden, \u00e7o\u011fu otomatik sunucu yap\u0131land\u0131rmas\u0131nda bu istenmeyen bir durumdur. Ancak g\u00fcvenlik a\u00e7\u0131s\u0131ndan, anahtar\u0131n \u015fifrelenmesi daha iyi olabilir, bu durumda <code>-nodes<\/code> parametresini kald\u0131rman\u0131z gerekir.<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 uzun olabilir.<br \/>\n*   <code>-newkey rsa:2048<\/code>: Yeni bir \u00f6zel anahtar olu\u015fturulaca\u011f\u0131n\u0131 belirtir. <code>rsa:2048<\/code>, 2048 bit uzunlu\u011funda bir RSA anahtar\u0131 olu\u015fturulaca\u011f\u0131n\u0131 g\u00f6sterir. Bu, g\u00fcn\u00fcm\u00fcz standartlar\u0131na g\u00f6re 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>\/etc\/nginx\/ssl\/nginx.key<\/code> olarak ayarlanm\u0131\u015ft\u0131r. Bu dosyan\u0131n yetkisiz eri\u015fimden korunmas\u0131 \u00e7ok \u00f6nemlidir.<br \/>\n*   <code>-out \/etc\/nginx\/ssl\/nginx.crt<\/code>: Olu\u015fturulan SSL sertifikas\u0131n\u0131n kaydedilece\u011fi dosya yolunu belirtir. Bu dosya, <code>\/etc\/nginx\/ssl\/nginx.crt<\/code> olarak ayarlanm\u0131\u015ft\u0131r.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131\u011f\u0131n\u0131zda, <code>\/etc\/nginx\/ssl\/<\/code> dizininde <code>nginx.key<\/code> (\u00f6zel anahtar) ve <code>nginx.crt<\/code> (SSL sertifikas\u0131) ad\u0131nda iki dosya bulunacakt\u0131r.<\/p>\n<h3>Ad\u0131m 4: Nginx&#8217;i SSL Kullanacak \u015eekilde Yap\u0131land\u0131rma<\/h3>\n<p>Sertifikam\u0131z ve \u00f6zel anahtar\u0131m\u0131z haz\u0131r oldu\u011funa g\u00f6re, Nginx&#8217;i bu dosyalar\u0131 kullanarak HTTPS trafi\u011fini sunacak \u015fekilde yap\u0131land\u0131rmam\u0131z gerekiyor. Nginx yap\u0131land\u0131rmalar\u0131 genellikle <code>\/etc\/nginx\/sites-available\/<\/code> dizininde bulunur ve <code>sites-enabled<\/code> dizinine sembolik ba\u011flant\u0131lar arac\u0131l\u0131\u011f\u0131yla etkinle\u015ftirilir.<\/p>\n<h4>Yeni Bir Sunucu Blo\u011fu Olu\u015fturma<\/h4>\n<p>En iyi uygulama, mevcut varsay\u0131lan yap\u0131land\u0131rmay\u0131 de\u011fi\u015ftirmek yerine, yeni bir sunucu blo\u011fu dosyas\u0131 olu\u015fturmakt\u0131r. Bu, yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 daha d\u00fczenli tutman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<p>Yeni bir yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/default-ssl<\/code><\/pre>\n<p>A\u00e7\u0131lan bo\u015f dosyaya a\u015fa\u011f\u0131daki yap\u0131land\u0131rmay\u0131 yap\u0131\u015ft\u0131r\u0131n. Bu yap\u0131land\u0131rma, HTTP (port 80) trafi\u011fini HTTPS&#8217;e (port 443) y\u00f6nlendirecek ve HTTPS ba\u011flant\u0131lar\u0131n\u0131 yap\u0131land\u0131rd\u0131\u011f\u0131m\u0131z kendi imzal\u0131 sertifika ile sunacakt\u0131r.<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n    server_name example.com www.example.com; # Kendi alan ad\u0131n\u0131z\u0131 veya sunucu IP'nizi buraya yaz\u0131n\n    return 301 https:\/\/$host$request_uri;\n}\n\nserver {\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n    server_name example.com www.example.com; # Kendi alan ad\u0131n\u0131z\u0131 veya sunucu IP'nizi buraya yaz\u0131n\n\n    ssl_certificate \/etc\/nginx\/ssl\/nginx.crt;\n    ssl_certificate_key \/etc\/nginx\/ssl\/nginx.key;\n\n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_prefer_server_ciphers on;\n    ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;\n    ssl_ecdh_curve secp384r1;\n    ssl_session_cache shared:SSL:10m;\n    ssl_session_tickets off;\n    ssl_stapling on;\n    ssl_stapling_verify on;\n    resolver 8.8.8.8 8.8.4.4 valid=300s;\n    resolver_timeout 5s;\n    add_header X-Frame-Options DENY;\n    add_header X-Content-Type-Options nosniff;\n    add_header X-XSS-Protection \"1; mode=block\";\n\n    root \/var\/www\/html; # Web sitenizin k\u00f6k dizini\n    index index.html index.htm index.nginx-debian.html;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n}<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong><br \/>\n*   <code>server_name<\/code> y\u00f6nergesini kendi alan ad\u0131n\u0131zla veya sunucu IP adresinizle de\u011fi\u015ftirmeyi unutmay\u0131n. E\u011fer bir alan ad\u0131n\u0131z yoksa ve sadece IP adresi \u00fczerinden eri\u015fiyorsan\u0131z, buraya sunucunuzun IP adresini yazabilirsiniz. \u00d6rne\u011fin: <code>server_name 192.168.1.100;<\/code><br \/>\n*   <code>root<\/code> y\u00f6nergesi, web sitenizin dosyalar\u0131n\u0131n bulundu\u011fu dizini g\u00f6sterir. Varsay\u0131lan Nginx kurulumunda bu genellikle <code>\/var\/www\/html<\/code>&#8216;dir.<br \/>\n*   Bu yap\u0131land\u0131rma, HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme (301 kal\u0131c\u0131 y\u00f6nlendirme) i\u00e7erir. Bu, kullan\u0131c\u0131lar\u0131n sitenize HTTP \u00fczerinden eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131nda otomatik olarak HTTPS&#8217;ye y\u00f6nlendirilece\u011fi anlam\u0131na gelir.<\/p>\n<p>Yap\u0131land\u0131rmay\u0131 kaydettikten sonra (Nano&#8217;da <code>Ctrl+O<\/code>, <code>Enter<\/code> ve <code>Ctrl+X<\/code>), bu sunucu blo\u011funu etkinle\u015ftirmek i\u00e7in bir sembolik ba\u011flant\u0131 olu\u015fturmam\u0131z ve varsay\u0131lan Nginx yap\u0131land\u0131rmas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakmam\u0131z gerekir (\u00e7\u00fcnk\u00fc o da port 80&#8217;i dinliyor olabilir).<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/default-ssl \/etc\/nginx\/sites-enabled\/\nsudo rm \/etc\/nginx\/sites-enabled\/default<\/code><\/pre>\n<p>Bu komutlar, yeni olu\u015fturdu\u011fumuz <code>default-ssl<\/code> yap\u0131land\u0131rmas\u0131n\u0131 etkinle\u015ftirir ve Nginx&#8217;in varsay\u0131lan yap\u0131land\u0131rmas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131r.<\/p>\n<h4>Gerekli Y\u00f6nergelerin A\u00e7\u0131klamas\u0131<\/h4>\n<p>Yukar\u0131daki Nginx yap\u0131land\u0131rmas\u0131nda kullan\u0131lan baz\u0131 \u00f6nemli y\u00f6nergeleri a\u00e7\u0131klayal\u0131m:<\/p>\n<p>*   <code>listen 443 ssl http2;<\/code>: Nginx&#8217;in 443 numaral\u0131 portu SSL\/TLS ve HTTP\/2 protokolleri i\u00e7in dinlemesini sa\u011flar. <code>http2<\/code> deste\u011fi, modern web performans\u0131n\u0131 art\u0131r\u0131r.<br \/>\n*   <code>ssl_certificate \/etc\/nginx\/ssl\/nginx.crt;<\/code>: SSL sertifikas\u0131n\u0131n tam yolunu belirtir.<br \/>\n*   <code>ssl_certificate_key \/etc\/nginx\/ssl\/nginx.key;<\/code>: \u00d6zel anahtar\u0131n tam yolunu belirtir.<br \/>\n*   <code>ssl_protocols TLSv1.2 TLSv1.3;<\/code>: Kullan\u0131lacak SSL\/TLS protokollerini belirler. Eski ve g\u00fcvensiz protokolleri (SSLv3, TLSv1.0, TLSv1.1) devre d\u0131\u015f\u0131 b\u0131rakarak g\u00fcvenli\u011fi art\u0131r\u0131r.<br \/>\n*   <code>ssl_prefer_server_ciphers on;<\/code>: Sunucunun, istemcinin \u00f6nerdi\u011fi yerine kendi \u015fifreleme paketlerini tercih etmesini sa\u011flar.<br \/>\n*   <code>ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;<\/code>: G\u00fcvenli \u015fifreleme paketlerini tan\u0131mlar. Bu liste, g\u00fc\u00e7l\u00fc \u015fifrelemeleri tercih eder.<br \/>\n*   <code>ssl_ecdh_curve secp384r1;<\/code>: ECDH anahtar de\u011fi\u015fiminde kullan\u0131lacak e\u011friyi belirtir.<br \/>\n*   <code>ssl_session_cache shared:SSL:10m;<\/code>: SSL oturum \u00f6nbelle\u011fini etkinle\u015ftirir. Bu, ayn\u0131 istemcinin birden fazla ba\u011flant\u0131 kurmas\u0131 durumunda el s\u0131k\u0131\u015fma s\u00fcrecini h\u0131zland\u0131r\u0131r.<br \/>\n*   <code>ssl_session_tickets off;<\/code>: SSL oturum biletlerini devre d\u0131\u015f\u0131 b\u0131rak\u0131r. G\u00fcvenlik endi\u015feleri nedeniyle genellikle kapat\u0131lmas\u0131 \u00f6nerilir.<br \/>\n*   <code>ssl_stapling on; ssl_stapling_verify on;<\/code>: OCSP Stapling&#8217;i etkinle\u015ftirir. Bu, sunucunun sertifika iptal durumunu CA&#8217;dan \u00f6nceden al\u0131p istemciye sunarak performans ve gizlili\u011fi art\u0131r\u0131r.<br \/>\n*   <code>resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s;<\/code>: OCSP Stapling i\u00e7in DNS \u00e7\u00f6z\u00fcmleyicilerini ve zaman a\u015f\u0131m\u0131n\u0131 belirtir. Google DNS sunucular\u0131 \u00f6rnek olarak verilmi\u015ftir.<br \/>\n*   <code>add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection \"1; mode=block\";<\/code>: HTTP g\u00fcvenlik ba\u015fl\u0131klar\u0131 ekler. Bu ba\u015fl\u0131klar, t\u0131klama ka\u00e7\u0131rma (clickjacking), MIME t\u00fcr\u00fc koklama ve XSS sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flamaya yard\u0131mc\u0131 olur.<\/p>\n<p>Bu yap\u0131land\u0131rma, modern g\u00fcvenlik standartlar\u0131na uygun ve iyi yap\u0131land\u0131r\u0131lm\u0131\u015f bir HTTPS sunumu i\u00e7in sa\u011flam bir temel olu\u015fturur.<\/p>\n<h3>Ad\u0131m 5: Nginx Yap\u0131land\u0131rmas\u0131n\u0131 Test Etme ve Yeniden Ba\u015flatma<\/h3>\n<p>Nginx yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenledikten sonra, herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek \u00e7ok \u00f6nemlidir. Hatal\u0131 bir yap\u0131land\u0131rma Nginx&#8217;in ba\u015flamas\u0131n\u0131 engelleyebilir.<\/p>\n<p>Yap\u0131land\u0131rmay\u0131 test etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, a\u015fa\u011f\u0131daki gibi 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 dikkatlice kontrol edin ve hatalar\u0131 d\u00fczeltin. Genellikle noktal\u0131 virg\u00fcl eksikli\u011fi veya yanl\u0131\u015f yaz\u0131lm\u0131\u015f y\u00f6nergeler yayg\u0131n hatalard\u0131r.<\/p>\n<p>Yap\u0131land\u0131rma testi ba\u015far\u0131l\u0131 olduktan sonra, Nginx servisini yeniden ba\u015flatarak yeni ayarlar\u0131n etkinle\u015fmesini sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<p>\u015eimdi web taray\u0131c\u0131n\u0131zdan sunucunuzun alan ad\u0131na veya IP adresine <code>https:\/\/<\/code> \u00f6nekiyle eri\u015fmeyi deneyin (\u00f6rne\u011fin: <code>https:\/\/example.com<\/code> veya <code>https:\/\/192.168.1.100<\/code>).<\/p>\n<h3>Ad\u0131m 6: G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>E\u011fer sunucunuzda bir g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin UFW) etkinse, HTTPS trafi\u011fi i\u00e7in 443 numaral\u0131 portun a\u00e7\u0131k oldu\u011fundan emin olman\u0131z gerekir. Ubuntu 16.04&#8217;te UFW (Uncomplicated Firewall) genellikle varsay\u0131lan olarak gelir ve Nginx kurulumu s\u0131ras\u0131nda baz\u0131 kurallar ekleyebilir.<\/p>\n<p>Mevcut UFW durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>E\u011fer 443 portu a\u00e7\u0131k de\u011filse veya Nginx&#8217;in HTTPS profili etkin de\u011filse, a\u015fa\u011f\u0131daki komutlarla izin verebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTPS'\n<h2>veya sadece port 443'e izin vermek i\u00e7in<\/h2>\nsudo ufw allow 443\/tcp<\/code><\/pre>\n<p>E\u011fer HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme yap\u0131yorsan\u0131z ve HTTP trafi\u011fini kabul etmek istemiyorsan\u0131z, Nginx HTTP profilini devre d\u0131\u015f\u0131 b\u0131rakabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw delete allow 'Nginx HTTP'<\/code><\/pre>\n<p>Ard\u0131ndan UFW durumunu tekrar kontrol ederek de\u011fi\u015fikliklerin uyguland\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>Taray\u0131c\u0131da Sertifika Uyar\u0131s\u0131 ve Y\u00f6netimi<\/h3>\n<p>Kendi imzal\u0131 SSL sertifikas\u0131 kulland\u0131\u011f\u0131n\u0131zda, web taray\u0131c\u0131n\u0131z b\u00fcy\u00fck olas\u0131l\u0131kla bir g\u00fcvenlik uyar\u0131s\u0131 g\u00f6sterecektir. Bu, sertifikan\u0131n bir Sertifika Yetkilisi (CA) taraf\u0131ndan do\u011frulanmad\u0131\u011f\u0131 ve taray\u0131c\u0131n\u0131n otomatik olarak g\u00fcvenmedi\u011fi anlam\u0131na gelir. Bu durum beklenen bir davran\u0131\u015ft\u0131r ve sertifikan\u0131z\u0131n hatal\u0131 oldu\u011fu anlam\u0131na gelmez.<\/p>\n<h4>Neden Uyar\u0131 G\u00f6r\u00fcn\u00fcr?<\/h4>\n<p>Web taray\u0131c\u0131lar\u0131, \u00f6nceden tan\u0131mlanm\u0131\u015f ve g\u00fcvenilir kabul edilen bir dizi k\u00f6k sertifika yetkilisi (CA) listesiyle birlikte gelir. Bir web sitesine HTTPS \u00fczerinden ba\u011flan\u0131ld\u0131\u011f\u0131nda, taray\u0131c\u0131 sunucunun sundu\u011fu sertifikay\u0131 bu g\u00fcvenilir CA listesindeki bir otorite taraf\u0131ndan imzalan\u0131p imzalanmad\u0131\u011f\u0131n\u0131 kontrol eder. E\u011fer sertifika, g\u00fcvenilir bir CA taraf\u0131ndan imzalanmam\u0131\u015fsa (ki kendi imzal\u0131 sertifikalar bu kategoriye girer), taray\u0131c\u0131 kullan\u0131c\u0131n\u0131n ba\u011flant\u0131s\u0131n\u0131n g\u00fcvenli olmad\u0131\u011f\u0131n\u0131 veya bir risk ta\u015f\u0131d\u0131\u011f\u0131n\u0131 belirten bir uyar\u0131 g\u00f6sterir. Bu uyar\u0131, ortadaki adam (Man-in-the-Middle) sald\u0131r\u0131lar\u0131na kar\u015f\u0131 kullan\u0131c\u0131y\u0131 koruma amac\u0131 ta\u015f\u0131r.<\/p>\n<h4>Sertifikay\u0131 G\u00fcvenilir Olarak Ekleme<\/h4>\n<p>Geli\u015ftirme veya dahili a\u011f ortamlar\u0131nda \u00e7al\u0131\u015f\u0131rken, bu uyar\u0131y\u0131 atlayabilir ve sertifikay\u0131 taray\u0131c\u0131n\u0131zda veya i\u015fletim sisteminizde manuel olarak g\u00fcvenilir olarak i\u015faretleyebilirsiniz. Bu, taray\u0131c\u0131n\u0131z\u0131n gelecekte bu sertifikaya sahip sitelere eri\u015fti\u011finde uyar\u0131 g\u00f6stermesini engeller.<\/p>\n<p><strong>Chrome (veya Chromium tabanl\u0131 taray\u0131c\u0131lar) i\u00e7in genel ad\u0131mlar:<\/strong><br \/>\n1.  Uyar\u0131 sayfas\u0131nda &#8220;Geli\u015fmi\u015f&#8221; veya &#8220;Devam et&#8221; se\u00e7ene\u011fini t\u0131klay\u0131n.<br \/>\n2.  &#8220;example.com adresine g\u00fcvenli olmayan bir \u015fekilde devam et&#8221; (veya benzeri) se\u00e7ene\u011fini se\u00e7erek siteye eri\u015fin.<br \/>\n3.  Sertifikay\u0131 indirmek ve i\u015fletim sisteminize eklemek i\u00e7in taray\u0131c\u0131n\u0131z\u0131n sertifika y\u00f6netimi ayarlar\u0131na gidin. Genellikle adres \u00e7ubu\u011fundaki kilit simgesine t\u0131klay\u0131p &#8220;Sertifika&#8221; veya &#8220;Ba\u011flant\u0131 ayarlar\u0131&#8221; se\u00e7ene\u011finden sertifikay\u0131 d\u0131\u015fa aktarabilirsiniz.<br \/>\n4.  \u0130ndirdi\u011finiz <code>.crt<\/code> dosyas\u0131n\u0131 i\u015fletim sisteminizin g\u00fcvenilen k\u00f6k sertifika depolar\u0131na ekleyin. Bu i\u015flem i\u015fletim sistemine g\u00f6re de\u011fi\u015fir:<br \/>\n    *   <strong>Windows:<\/strong> <code>.crt<\/code> dosyas\u0131na \u00e7ift t\u0131klay\u0131n, &#8220;Sertifikay\u0131 Y\u00fckle&#8221; sihirbaz\u0131n\u0131 takip edin ve &#8220;G\u00fcvenilen K\u00f6k Sertifika Yetkilileri&#8221; deposuna yerle\u015ftirin.<br \/>\n    *   <strong>macOS:<\/strong> <code>.crt<\/code> dosyas\u0131na \u00e7ift t\u0131klay\u0131n, Anahtar Zinciri Eri\u015fimi uygulamas\u0131nda sertifikay\u0131 bulun, \u00e7ift t\u0131klay\u0131n, &#8220;G\u00fcven&#8221; b\u00f6l\u00fcm\u00fcn\u00fc geni\u015fletin ve &#8220;Bu sertifikay\u0131 kullan\u0131rken&#8221; se\u00e7ene\u011fini &#8220;Her zaman g\u00fcven&#8221; olarak ayarlay\u0131n.<br \/>\n    *   <strong>Linux (Ubuntu\/Debian tabanl\u0131 sistemler):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/nginx\/ssl\/nginx.crt \/usr\/local\/share\/ca-certificates\/\n        sudo update-ca-certificates<\/code><\/pre>\n<p>        Bu komutlar, sertifikan\u0131z\u0131 sistem genelinde g\u00fcvenilir hale getirecektir. Taray\u0131c\u0131n\u0131z\u0131n bu de\u011fi\u015fiklikleri g\u00f6rmesi i\u00e7in yeniden ba\u015flatman\u0131z gerekebilir.<\/p>\n<p>Bu ad\u0131mlar, kendi imzal\u0131 sertifikan\u0131z\u0131n sadece sizin taraf\u0131n\u0131zdan veya dahili a\u011f\u0131n\u0131zdaki kullan\u0131c\u0131lar taraf\u0131ndan g\u00fcvenilir olarak kabul edilmesini sa\u011flar. Harici kullan\u0131c\u0131lar i\u00e7in bu manuel ad\u0131mlar\u0131 uygulamak pratik de\u011fildir, bu y\u00fczden \u00fcretim ortamlar\u0131nda CA taraf\u0131ndan imzalanm\u0131\u015f sertifikalar tercih edilmelidir.<\/p>\n<h3>Kendi \u0130mzal\u0131 Sertifikalar\u0131n Kullan\u0131m Alanlar\u0131 ve S\u0131n\u0131rlamalar\u0131<\/h3>\n<p>Kendi imzal\u0131 sertifikalar, belirli senaryolarda olduk\u00e7a kullan\u0131\u015fl\u0131 olsa da, \u00fcretim ortamlar\u0131nda dikkatli kullan\u0131lmas\u0131 gereken \u00f6nemli s\u0131n\u0131rlamalara sahiptir.<\/p>\n<h4>Kullan\u0131m Alanlar\u0131<\/h4>\n<p>*   <strong>Geli\u015ftirme Ortamlar\u0131:<\/strong> Web uygulamalar\u0131 geli\u015ftirirken, uygulaman\u0131n HTTPS \u00fczerinden nas\u0131l davrand\u0131\u011f\u0131n\u0131 test etmek i\u00e7in h\u0131zl\u0131 ve \u00fccretsiz bir y\u00f6ntem sunar. Geli\u015ftiriciler, SSL\/TLS yap\u0131land\u0131rmalar\u0131n\u0131, g\u00fcvenlik ba\u015fl\u0131klar\u0131n\u0131 ve HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirmeleri kendi imzal\u0131 sertifikalarla kolayca deneyebilirler.<br \/>\n*   <strong>Dahili A\u011flar ve Intranet Uygulamalar\u0131:<\/strong> \u015eirket i\u00e7i a\u011flarda veya sadece belirli bir grup kullan\u0131c\u0131 taraf\u0131ndan eri\u015filen uygulamalarda, sertifika g\u00fcvenini manuel olarak ekleyebilece\u011finiz veya t\u00fcm istemcilerin merkezi olarak y\u00f6netildi\u011fi durumlarda kendi imzal\u0131 sertifikalar kullan\u0131labilir. Bu t\u00fcr ortamlarda, harici bir CA&#8217;ya ihtiya\u00e7 duyulmaz ve maliyetten tasarruf edilir.<br \/>\n*   <strong>API Testleri:<\/strong> Geli\u015ftirilen API&#8217;lerin HTTPS \u00fczerinden g\u00fcvenli bir \u015fekilde ileti\u015fim kurup kurmad\u0131\u011f\u0131n\u0131 test etmek i\u00e7in kullan\u0131labilir. Postman, Insomnia gibi ara\u00e7lar genellikle kendi imzal\u0131 sertifikalar\u0131 kabul etme veya manuel olarak ekleme se\u00e7ene\u011fi sunar.<br \/>\n*   <strong>IoT Cihazlar\u0131 ve G\u00f6m\u00fcl\u00fc Sistemler:<\/strong> K\u0131s\u0131tl\u0131 kaynaklara sahip veya kapal\u0131 ekosistemlerde \u00e7al\u0131\u015fan IoT cihazlar\u0131 ve g\u00f6m\u00fcl\u00fc sistemler, kimlik do\u011frulama ve veri \u015fifreleme i\u00e7in kendi imzal\u0131 sertifikalar\u0131 kullanabilirler. Bu senaryolarda, cihazlar genellikle birbirlerine veya belirli bir merkeze g\u00fcvenirler ve harici bir CA&#8217;ya ba\u011f\u0131ml\u0131l\u0131k istenmez.<br \/>\n*   <strong>E\u011fitim ve \u00d6\u011frenme:<\/strong> SSL\/TLS&#8217;nin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, sertifika olu\u015fturma s\u00fcre\u00e7lerini ve web sunucusu yap\u0131land\u0131rmalar\u0131n\u0131 \u00f6\u011frenmek i\u00e7in pratik bir ara\u00e7t\u0131r.<\/p>\n<h4>S\u0131n\u0131rlamalar<\/h4>\n<p>*   <strong>Taray\u0131c\u0131 Uyar\u0131lar\u0131:<\/strong> En b\u00fcy\u00fck s\u0131n\u0131rlama, taray\u0131c\u0131lar\u0131n kendi imzal\u0131 sertifikalara otomatik olarak g\u00fcvenmemesi ve g\u00fcvenlik uyar\u0131lar\u0131 g\u00f6stermesidir. Bu, genel kullan\u0131ma a\u00e7\u0131k web siteleri i\u00e7in kabul edilemezdir \u00e7\u00fcnk\u00fc kullan\u0131c\u0131 g\u00fcvenini zedeler ve profesyonel olmayan bir izlenim b\u0131rak\u0131r.<br \/>\n*   <strong>Kullan\u0131c\u0131 Deneyimi:<\/strong> Her yeni kullan\u0131c\u0131 veya yeni bir cihazla siteye eri\u015fildi\u011finde manuel olarak sertifikay\u0131 g\u00fcvenilir olarak eklemek veya uyar\u0131y\u0131 atlamak zorunda kalmak, k\u00f6t\u00fc bir kullan\u0131c\u0131 deneyimine yol a\u00e7ar.<br \/>\n*   <strong>G\u00fcvenilirlik Eksikli\u011fi:<\/strong> Kendi imzal\u0131 sertifikalar, bir \u00fc\u00e7\u00fcnc\u00fc taraf CA taraf\u0131ndan do\u011frulanmad\u0131\u011f\u0131 i\u00e7in, web sitesinin kimli\u011fi hakk\u0131nda herhangi bir g\u00fcvence sa\u011flamaz. Bu, ortadaki adam sald\u0131r\u0131lar\u0131na (Man-in-the-Middle attacks) kar\u015f\u0131 savunmas\u0131z kalma riski ta\u015f\u0131r, \u00e7\u00fcnk\u00fc k\u00f6t\u00fc niyetli bir akt\u00f6r de kendi imzal\u0131 bir sertifika olu\u015fturup kendini sizin siteniz gibi g\u00f6sterebilir.<br \/>\n*   <strong>S\u0131n\u0131rl\u0131 Taray\u0131c\u0131\/\u0130\u015fletim Sistemi Deste\u011fi:<\/strong> Baz\u0131 eski taray\u0131c\u0131lar veya i\u015fletim sistemleri, kendi imzal\u0131 sertifikalar\u0131 y\u00f6netmekte veya kabul etmekte zorlanabilir.<br \/>\n*   <strong>Sertifika Y\u00f6netimi Zorlu\u011fu:<\/strong> E\u011fer \u00e7ok say\u0131da kendi imzal\u0131 sertifikay\u0131 farkl\u0131 sunucularda kullan\u0131yorsan\u0131z, bunlar\u0131n ge\u00e7erlilik s\u00fcrelerini takip etmek ve yenilemek zamanla karma\u015f\u0131k hale gelebilir. CA&#8217;lar genellikle bu s\u00fcre\u00e7leri otomatikle\u015ftirir.<br \/>\n*   <strong>HTTP\/2 ve Di\u011fer Modern \u00d6zellikler:<\/strong> Modern web teknolojileri, HTTPS&#8217;i bir temel gereklilik olarak g\u00f6r\u00fcr. Kendi imzal\u0131 sertifikalarla HTTP\/2 gibi \u00f6zellikler teknik olarak \u00e7al\u0131\u015fsa da, taray\u0131c\u0131 uyar\u0131lar\u0131 nedeniyle bu \u00f6zelliklerin tam faydas\u0131n\u0131 g\u00f6remeyebilirsiniz.<\/p>\n<p>\u00d6zetle, kendi imzal\u0131 sertifikalar geli\u015ftirme, test ve kapal\u0131 dahili a\u011flar gibi kontroll\u00fc ortamlarda de\u011ferli ara\u00e7lard\u0131r. Ancak, halka a\u00e7\u0131k ve \u00fcretim ortamlar\u0131nda, kullan\u0131c\u0131 g\u00fcvenini ve g\u00fcvenli\u011fi sa\u011flamak i\u00e7in mutlaka ticari veya \u00fccretsiz (\u00f6rn. Let&#8217;s Encrypt) bir Sertifika Yetkilisi taraf\u0131ndan imzalanm\u0131\u015f sertifikalar kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h3>Alternatifler: Let&#8217;s Encrypt<\/h3>\n<p>E\u011fer bir \u00fcretim ortam\u0131 i\u00e7in ger\u00e7ek bir SSL sertifikas\u0131na ihtiyac\u0131n\u0131z varsa ve maliyet endi\u015feleriniz varsa, Let&#8217;s Encrypt m\u00fckemmel bir \u00e7\u00f6z\u00fcmd\u00fcr. Let&#8217;s Encrypt, \u00fccretsiz, otomatik ve a\u00e7\u0131k bir Sertifika Yetkilisidir (CA). Certbot gibi ara\u00e7lar sayesinde, bir alan ad\u0131 i\u00e7in SSL sertifikalar\u0131n\u0131 kolayca alabilir, y\u00fckleyebilir ve otomatik olarak yenileyebilirsiniz.<\/p>\n<p>Ubuntu 16.04&#8217;te Nginx i\u00e7in Let&#8217;s Encrypt sertifikas\u0131 almak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilirsiniz:<br \/>\n1.  <strong>Certbot Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt update\n    sudo apt install software-properties-common\n    sudo add-apt-repository ppa:certbot\/certbot\n    sudo apt update\n    sudo apt install python-certbot-nginx<\/code><\/pre>\n<p>2.  <strong>Sertifika Alma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo certbot --nginx -d example.com -d www.example.com<\/code><\/pre>\n<p>    Bu komut, Certbot&#8217;un Nginx yap\u0131land\u0131rman\u0131z\u0131 otomatik olarak analiz etmesini, sertifikalar\u0131 almas\u0131n\u0131 ve Nginx&#8217;i HTTPS kullanacak \u015fekilde yap\u0131land\u0131rmas\u0131n\u0131 sa\u011flar. Sizden bir e-posta adresi isteyecek ve hizmet \u015fartlar\u0131n\u0131 kabul etmenizi isteyecektir.<br \/>\n3.  <strong>Otomatik Yenileme Testi:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo certbot renew --dry-run<\/code><\/pre>\n<p>    Bu komut, otomatik yenileme s\u00fcrecinin sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frular. Certbot, sertifikalar\u0131 otomatik olarak yenilemek i\u00e7in bir cron i\u015fi veya systemd zamanlay\u0131c\u0131s\u0131 kurar.<\/p>\n<p>Let&#8217;s Encrypt, kendi imzal\u0131 sertifikalar\u0131n dezavantajlar\u0131n\u0131 ortadan kald\u0131rarak, halka a\u00e7\u0131k web siteleri i\u00e7in g\u00fcvenli ve \u00fccretsiz bir HTTPS \u00e7\u00f6z\u00fcm\u00fc sunar.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde Nginx web sunucusu i\u00e7in kendi imzal\u0131 bir SSL sertifikas\u0131n\u0131n nas\u0131l olu\u015fturulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceledik. S\u00fcre\u00e7, OpenSSL arac\u0131n\u0131 kullanarak bir \u00f6zel anahtar ve sertifika olu\u015fturmaktan, Nginx yap\u0131land\u0131rma dosyas\u0131n\u0131 bu sertifikay\u0131 kullanacak \u015fekilde d\u00fczenlemeye ve son olarak g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 yapmaya kadar t\u00fcm ad\u0131mlar\u0131 kapsad\u0131. Kendi imzal\u0131 sertifikalar\u0131n neden kullan\u0131ld\u0131\u011f\u0131, hangi durumlarda avantajl\u0131 oldu\u011fu ve taray\u0131c\u0131 uyar\u0131lar\u0131n\u0131n nas\u0131l y\u00f6netilece\u011fi gibi konulara da de\u011findik.<\/p>\n<p>Kendi imzal\u0131 sertifikalar, geli\u015ftirme ortamlar\u0131, test sunucular\u0131 veya dahili a\u011f uygulamalar\u0131 gibi kontroll\u00fc ve kapal\u0131 ortamlarda SSL\/TLS i\u015flevselli\u011fini h\u0131zl\u0131 ve maliyetsiz bir \u015fekilde sa\u011flamak i\u00e7in de\u011ferli bir ara\u00e7t\u0131r. Bu sertifikalar, HTTPS&#8217;in temel prensiplerini anlamak ve web sunucusu yap\u0131land\u0131rmalar\u0131n\u0131 \u00f6\u011frenmek i\u00e7in de harika bir ba\u015flang\u0131\u00e7 noktas\u0131 sunar. Ancak, genel kullan\u0131ma a\u00e7\u0131k \u00fcretim ortamlar\u0131nda, taray\u0131c\u0131lar\u0131n otomatik olarak g\u00fcvendi\u011fi ve kullan\u0131c\u0131 g\u00fcvenini art\u0131ran Let&#8217;s Encrypt gibi \u00fccretsiz veya ticari bir Sertifika Yetkilisi taraf\u0131ndan imzalanm\u0131\u015f sertifikalar tercih edilmelidir. Kendi imzal\u0131 sertifikalar\u0131n taray\u0131c\u0131 uyar\u0131lar\u0131 ve g\u00fcvenilirlik eksikli\u011fi gibi \u00f6nemli s\u0131n\u0131rlamalar\u0131 bulunmaktad\u0131r.<\/p>\n<p>Bu rehberi takip ederek, Ubuntu 16.04 sunucunuzda Nginx i\u00e7in ba\u015far\u0131l\u0131 bir \u015fekilde kendi imzal\u0131 SSL sertifikas\u0131 kurmu\u015f ve temel HTTPS yap\u0131land\u0131rmas\u0131n\u0131 anlam\u0131\u015f olmal\u0131s\u0131n\u0131z. Web g\u00fcvenli\u011fi yolculu\u011funuzda bir sonraki ad\u0131m, e\u011fer bir \u00fcretim ortam\u0131 s\u00f6z konusu ise, Let&#8217;s Encrypt gibi bir \u00e7\u00f6z\u00fcmle ger\u00e7ek bir SSL sertifikas\u0131na ge\u00e7i\u015f yapmak olacakt\u0131r. G\u00fcvenli web uygulamalar\u0131 geli\u015ftirmek ve sunmak, modern internetin temel ta\u015f\u0131d\u0131r ve bu ad\u0131mlar, bu amaca ula\u015fman\u0131z i\u00e7in sa\u011flam bir temel olu\u015fturmaktad\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.04&#8217;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda g\u00fcvenlik, web uygulamalar\u0131 ve sunuc","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":[1468],"tags":[],"class_list":{"0":"post-34328","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Ubuntu 16.04&#039;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma - 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\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04&#039;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.04&#039;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Giri\u015f G\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda g\u00fcvenlik, web uygulamalar\u0131 ve sunuc\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-15T03:40:48+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=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04&#8217;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma\",\"datePublished\":\"2025-11-15T03:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/\"},\"wordCount\":3941,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/\",\"name\":\"Ubuntu 16.04'te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-15T03:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04&#8217;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma\"}]},{\"@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":"Ubuntu 16.04'te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma - 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\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04'te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma","og_description":"Ubuntu 16.04'te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma Giri\u015f G\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda g\u00fcvenlik, web uygulamalar\u0131 ve sunuc","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-15T03:40:48+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04&#8217;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma","datePublished":"2025-11-15T03:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/"},"wordCount":3941,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/","name":"Ubuntu 16.04'te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-15T03:40:48+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04te-nginx-icin-kendi-imzali-ssl-sertifikasi-olusturma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04&#8217;te Nginx \u0130\u00e7in Kendi \u0130mzal\u0131 SSL Sertifikas\u0131 Olu\u015fturma"}]},{"@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\/34328","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=34328"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34328\/revisions"}],"predecessor-version":[{"id":34329,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34328\/revisions\/34329"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}