{"id":32212,"date":"2025-10-19T03:40:46","date_gmt":"2025-10-19T00:40:46","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32212"},"modified":"2025-10-19T03:40:46","modified_gmt":"2025-10-19T00:40:46","slug":"ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/","title":{"rendered":"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fczde internet sitelerinin g\u00fcvenli\u011fi, kullan\u0131c\u0131 verilerinin korunmas\u0131 ve taray\u0131c\u0131lar\u0131n sitelere olan g\u00fcveni a\u00e7\u0131s\u0131ndan kritik bir \u00f6neme sahiptir. Bu g\u00fcvenli\u011fi sa\u011flaman\u0131n temel yolu, siteler aras\u0131 ileti\u015fimi \u015fifreleyen SSL\/TLS (Secure Sockets Layer\/Transport Layer Security) protokollerini kullanmakt\u0131r. Bir web sitesine HTTPS \u00fczerinden eri\u015fti\u011finizde, taray\u0131c\u0131n\u0131z sunucunun kimli\u011fini do\u011frular ve t\u00fcm ileti\u015fimi \u015fifreler. Bu \u015fifreleme i\u015flemi, sunucuya y\u00fcklenen bir SSL sertifikas\u0131 arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilir.<\/p>\n<p>Genellikle, \u00fcretim ortam\u0131ndaki web siteleri i\u00e7in Let&#8217;s Encrypt gibi \u00fccretsiz veya ticari sertifika yetkilileri (CA &#8211; Certificate Authority) taraf\u0131ndan imzalanm\u0131\u015f sertifikalar kullan\u0131l\u0131r. Bu sertifikalar, taray\u0131c\u0131lar taraf\u0131ndan otomatik olarak g\u00fcvenilir kabul edilir ve kullan\u0131c\u0131lara herhangi bir uyar\u0131 g\u00f6stermez. Ancak, geli\u015ftirme ortamlar\u0131, dahili uygulamalar, test sunucular\u0131 veya \u00f6zel, kapal\u0131 a\u011flardaki servisler i\u00e7in kendinden imzal\u0131 (self-signed) SSL sertifikalar\u0131 kullanmak pratik ve maliyetsiz bir \u00e7\u00f6z\u00fcm olabilir.<\/p>\n<p>Kendinden imzal\u0131 sertifikalar, bir sertifika yetkilisi taraf\u0131ndan de\u011fil, do\u011frudan sizin taraf\u0131n\u0131zdan olu\u015fturulur ve imzalan\u0131r. Bu, taray\u0131c\u0131lar\u0131n bu sertifikalara g\u00fcvenmemesi ve kullan\u0131c\u0131ya bir g\u00fcvenlik uyar\u0131s\u0131 g\u00f6stermesi anlam\u0131na gelir. Bu uyar\u0131ya ra\u011fmen, \u015fifreleme i\u015flemi hala ger\u00e7ekle\u015fir ve verileriniz g\u00fcvende kal\u0131r. Bu makalede, Ubuntu 18.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir Nginx web sunucusu i\u00e7in kendinden imzal\u0131 bir SSL sertifikas\u0131n\u0131n nas\u0131l olu\u015fturulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce, a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n mevcut oldu\u011fundan emin olun:<\/p>\n<p>*   <strong>Ubuntu 18.04 Sunucusu:<\/strong> Bu rehber, Ubuntu 18.04 s\u00fcr\u00fcm\u00fc i\u00e7in \u00f6zel olarak yaz\u0131lm\u0131\u015ft\u0131r. Di\u011fer Ubuntu s\u00fcr\u00fcmleri veya Linux da\u011f\u0131t\u0131mlar\u0131 i\u00e7in ad\u0131mlar benzer olsa da k\u00fc\u00e7\u00fck farkl\u0131l\u0131klar olabilir.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Sunucu \u00fczerinde <code>sudo<\/code> komutunu kullanarak y\u00f6netici ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131 hesab\u0131n\u0131z olmal\u0131d\u0131r.<br \/>\n*   <strong>Nginx Kurulumu:<\/strong> Sunucunuzda Nginx web sunucusunun kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131 gerekmektedir. E\u011fer kurulu de\u011filse, ilk ad\u0131mda kurulumunu ger\u00e7ekle\u015ftirece\u011fiz.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 (terminal) kullan\u0131m\u0131 ve temel dosya sistemi navigasyonu hakk\u0131nda bilgi sahibi olman\u0131z beklenir.<br \/>\n*   <strong>OpenSSL:<\/strong> SSL sertifikalar\u0131 olu\u015fturmak i\u00e7in gerekli olan OpenSSL arac\u0131 genellikle Ubuntu sistemlerinde varsay\u0131lan olarak y\u00fckl\u00fc gelir.<\/p>\n<h3>1. Nginx Kurulumu ve G\u00fcncelleme (E\u011fer Kurulu De\u011filse)<\/h3>\n<p>E\u011fer Nginx sunucunuz zaten kurulu ve g\u00fcncelse, bu ad\u0131m\u0131 atlayabilirsiniz. Aksi takdirde, a\u015fa\u011f\u0131daki komutlar\u0131 kullanarak sisteminizi g\u00fcncelleyip Nginx&#8217;i kurun:<\/p>\n<h4>Sistem Paketlerini G\u00fcncelleme<\/h4>\n<p>\u0130lk olarak, sunucunuzdaki paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h4>Nginx Kurulumu<\/h4>\n<p>\u015eimdi Nginx&#8217;i kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install nginx -y<\/code><\/pre>\n<h4>G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma (UFW)<\/h4>\n<p>Ubuntu&#8217;da varsay\u0131lan g\u00fcvenlik duvar\u0131 olan UFW (Uncomplicated Firewall), gelen ba\u011flant\u0131lar\u0131 y\u00f6netmek i\u00e7in kullan\u0131l\u0131r. Nginx&#8217;in HTTP (80) ve HTTPS (443) portlar\u0131ndan eri\u015filebilir olmas\u0131 i\u00e7in UFW&#8217;yi yap\u0131land\u0131rman\u0131z gerekir.<\/p>\n<p>Nginx, UFW&#8217;ye kendi profilini kaydeder. Mevcut profilleri g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ufw app list<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da genellikle &#8216;Nginx HTTP&#8217;, &#8216;Nginx HTTPS&#8217; ve &#8216;Nginx Full&#8217; se\u00e7eneklerini g\u00f6r\u00fcrs\u00fcn\u00fcz.<br \/>\n*   <code>Nginx HTTP<\/code>: Yaln\u0131zca 80. portu a\u00e7ar (HTTP).<br \/>\n*   <code>Nginx HTTPS<\/code>: Yaln\u0131zca 443. portu a\u00e7ar (HTTPS).<br \/>\n*   <code>Nginx Full<\/code>: Hem 80. hem de 443. portlar\u0131 a\u00e7ar.<\/p>\n<p>\u015eimdilik HTTP eri\u015fimine izin verelim, daha sonra HTTPS&#8217;i de ekleyece\u011fiz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTP'<\/code><\/pre>\n<p>E\u011fer UFW etkin de\u011filse, etkinle\u015ftirin ve ba\u015flang\u0131\u00e7ta \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n. Bu i\u015flem mevcut SSH ba\u011flant\u0131n\u0131z\u0131 kesebilece\u011fi i\u00e7in dikkatli olun:<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable\nsudo ufw status<\/code><\/pre>\n<p><code>sudo ufw status<\/code> komutu ile 80. portun a\u00e7\u0131k oldu\u011funu do\u011frulay\u0131n.<\/p>\n<h4>Nginx Servisini Ba\u015flatma ve Durumunu Kontrol Etme<\/h4>\n<p>Nginx servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx\nsudo systemctl enable nginx<\/code><\/pre>\n<p>Nginx&#8217;in \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status nginx<\/code><\/pre>\n<p>Durum <code>active (running)<\/code> olarak g\u00f6r\u00fcnmelidir. Sunucunuzun IP adresini veya alan ad\u0131n\u0131 bir web taray\u0131c\u0131s\u0131nda ziyaret ederek Nginx&#8217;in varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>2. SSL Sertifikas\u0131 ve \u00d6zel Anahtar Olu\u015fturma<\/h3>\n<p>Kendinden imzal\u0131 SSL sertifikas\u0131 ve \u00f6zel anahtar dosyalar\u0131n\u0131 olu\u015fturmak i\u00e7in OpenSSL arac\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n<h4>Sertifika ve Anahtar Dosyalar\u0131 \u0130\u00e7in Dizin Olu\u015fturma<\/h4>\n<p>G\u00fcvenlik nedenleriyle, SSL sertifikalar\u0131n\u0131 ve \u00f6zel anahtarlar\u0131 standart Nginx yap\u0131land\u0131rma dizininden ayr\u0131 bir yerde saklamak iyi bir uygulamad\u0131r. Nginx i\u00e7in \u00f6zel bir SSL dizini 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\/ssl<\/code> dizinini olu\u015fturacakt\u0131r. E\u011fer <code>nginx<\/code> veya <code>ssl<\/code> dizinlerinden biri yoksa, <code>-p<\/code> bayra\u011f\u0131 onlar\u0131 da otomatik olarak olu\u015fturur.<\/p>\n<h4>OpenSSL Kullanarak Sertifika Olu\u015fturma<\/h4>\n<p>\u015eimdi OpenSSL komutunu kullanarak kendinden imzal\u0131 sertifikay\u0131 ve \u00f6zel anahtar\u0131 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 ad\u0131m ad\u0131m a\u00e7\u0131klayal\u0131m:<\/p>\n<p>*   <code>sudo openssl req<\/code>: OpenSSL&#8217;in sertifika imzalama iste\u011fi (CSR) y\u00f6netim komutunu kullanaca\u011f\u0131m\u0131z\u0131 belirtir. <code>-x509<\/code> bayra\u011f\u0131 ile bir CSR yerine do\u011frudan kendinden imzal\u0131 bir sertifika olu\u015fturaca\u011f\u0131m\u0131z\u0131 belirtiriz.<br \/>\n*   <code>-x509<\/code>: Bu bayrak, sertifika imzalama iste\u011fi yerine kendinden imzal\u0131 bir sertifika olu\u015fturulaca\u011f\u0131n\u0131 g\u00f6sterir.<br \/>\n*   <code>-nodes<\/code>: \u00d6zel anahtar\u0131n \u015fifrelenmemesini (no DES encryption) sa\u011flar. Bu, Nginx&#8217;in her yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda bir parola sormas\u0131n\u0131 engeller. \u00dcretim ortam\u0131nda anahtar\u0131n \u015fifrelenmesi daha g\u00fcvenli kabul edilse de, kendinden imzal\u0131 sertifikalar i\u00e7in genelde bu bayrak kullan\u0131l\u0131r.<br \/>\n*   <code>-days 365<\/code>: Sertifikan\u0131n ge\u00e7erlilik s\u00fcresini g\u00fcn cinsinden ayarlar. Burada 365 g\u00fcn (1 y\u0131l) olarak belirlenmi\u015ftir. Geli\u015ftirme veya test ortamlar\u0131 i\u00e7in bu s\u00fcre genellikle yeterlidir.<br \/>\n*   <code>-newkey rsa:2048<\/code>: Yeni bir \u00f6zel anahtar olu\u015fturulaca\u011f\u0131n\u0131 belirtir. <code>rsa:2048<\/code>, 2048 bitlik bir RSA anahtar\u0131 olu\u015fturulaca\u011f\u0131n\u0131 g\u00f6sterir. Daha g\u00fc\u00e7l\u00fc g\u00fcvenlik i\u00e7in <code>rsa:4096<\/code> da kullan\u0131labilir, ancak i\u015flem s\u00fcresi daha uzun olabilir.<br \/>\n*   <code>-keyout \/etc\/nginx\/ssl\/nginx.key<\/code>: Olu\u015fturulan \u00f6zel anahtar\u0131n kaydedilece\u011fi dosyan\u0131n yolunu belirtir.<br \/>\n*   <code>-out \/etc\/nginx\/ssl\/nginx.crt<\/code>: Olu\u015fturulan sertifikan\u0131n kaydedilece\u011fi dosyan\u0131n yolunu belirtir.<\/p>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, OpenSSL size baz\u0131 sorular soracakt\u0131r. Bu bilgiler sertifikan\u0131n i\u00e7eri\u011fini olu\u015fturur:<\/p>\n<pre><code class=\"language-\">Country 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_server_ip_or_domain.com\nEmail Address []:admin@your_domain.com<\/code><\/pre>\n<p><strong>\u00d6nemli:<\/strong> <code>Common Name (e.g. server FQDN or YOUR name)<\/code> k\u0131sm\u0131na, sunucunuza eri\u015fmek i\u00e7in kullanaca\u011f\u0131n\u0131z alan ad\u0131n\u0131 (\u00f6rne\u011fin, <code>example.com<\/code> veya <code>www.example.com<\/code>) veya do\u011frudan sunucunuzun IP adresini girmelisiniz. E\u011fer bu isim taray\u0131c\u0131da girdi\u011finiz adresle e\u015fle\u015fmezse, taray\u0131c\u0131 daha fazla uyar\u0131 g\u00f6sterecektir.<\/p>\n<h4>Dosya \u0130zinlerini Ayarlama<\/h4>\n<p>\u00d6zel anahtar dosyas\u0131 (<code>nginx.key<\/code>) \u00e7ok hassas bilgiler i\u00e7erir ve yaln\u0131zca Nginx taraf\u0131ndan okunabilir olmal\u0131d\u0131r. Sertifika dosyas\u0131 (<code>nginx.crt<\/code>) ise daha az hassast\u0131r ve herkes taraf\u0131ndan okunabilir. Do\u011fru izinleri ayarlamak i\u00e7in:<\/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>*   <code>chmod 600<\/code>: Yaln\u0131zca dosya sahibinin okuma ve yazma iznine sahip olmas\u0131n\u0131 sa\u011flar. Di\u011fer kullan\u0131c\u0131lar veya gruplar i\u00e7in hi\u00e7bir izin yoktur.<br \/>\n*   <code>chmod 644<\/code>: Dosya sahibinin okuma ve yazma, di\u011ferlerinin ise sadece okuma iznine sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bu izinler, \u00f6zel anahtar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini art\u0131r\u0131r.<\/p>\n<h3>3. Nginx&#8217;i SSL Kullanacak \u015eekilde Yap\u0131land\u0131rma<\/h3>\n<p>\u015eimdi Nginx&#8217;i olu\u015fturdu\u011fumuz SSL sertifikas\u0131n\u0131 kullanacak \u015fekilde yap\u0131land\u0131rmam\u0131z gerekiyor.<\/p>\n<h4>Nginx Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme<\/h4>\n<p>Varsay\u0131lan Nginx yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenleyece\u011fiz. Bu genellikle <code>\/etc\/nginx\/sites-available\/default<\/code> konumunda bulunur:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/default<\/code><\/pre>\n<p>Dosyay\u0131 a\u00e7t\u0131ktan sonra, HTTP (port 80) blo\u011funu yorum sat\u0131r\u0131 haline getirebilir veya HTTPS&#8217;e y\u00f6nlendirme yapacak \u015fekilde d\u00fczenleyebilirsiniz. Ard\u0131ndan, HTTPS (port 443) i\u00e7in yeni bir <code>server<\/code> blo\u011fu ekleyin veya mevcut blo\u011fu d\u00fczenleyin.<\/p>\n<p>A\u015fa\u011f\u0131daki yap\u0131land\u0131rma \u00f6rne\u011fini <code>server<\/code> blo\u011funun i\u00e7ine ekleyin veya mevcut <code>server<\/code> blo\u011funuzu buna benzer \u015fekilde g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 443 ssl;\n    listen [::]:443 ssl;\n    server_name your_domain.com www.your_domain.com your_server_ip; # Kendi alan ad\u0131n\u0131z\u0131 veya IP adresinizi girin\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; # Yaln\u0131zca g\u00fcvenli TLS protokollerini kullan\u0131n\n    ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384'; # G\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131\n    ssl_prefer_server_ciphers on;\n\n    ssl_session_cache shared:SSL:10m;\n    ssl_session_timeout 10m;\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\n    # Di\u011fer Nginx yap\u0131land\u0131rmalar\u0131n\u0131z buraya gelebilir (\u00f6rne\u011fin, loglar, hata sayfalar\u0131 vb.)\n}<\/code><\/pre>\n<p><strong>A\u00e7\u0131klamalar:<\/strong><\/p>\n<p>*   <code>listen 443 ssl;<\/code>: Nginx&#8217;in 443. portu (HTTPS) dinlemesini ve SSL kullanmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>server_name<\/code>: Sunucunuzun alan ad\u0131n\u0131 veya IP adresini belirtin. Sertifika olu\u015ftururken kulland\u0131\u011f\u0131n\u0131z Common Name ile e\u015fle\u015fmelidir.<br \/>\n*   <code>ssl_certificate<\/code>: Sertifika dosyas\u0131n\u0131n yolunu belirtir.<br \/>\n*   <code>ssl_certificate_key<\/code>: \u00d6zel anahtar dosyas\u0131n\u0131n yolunu belirtir.<br \/>\n*   <code>ssl_protocols<\/code>: Kullan\u0131lacak TLS protokollerini belirler. <code>TLSv1.2<\/code> ve <code>TLSv1.3<\/code> \u015fu anda en g\u00fcvenli se\u00e7eneklerdir.<br \/>\n*   <code>ssl_ciphers<\/code>: Nginx&#8217;in kullanaca\u011f\u0131 \u015fifreleme algoritmalar\u0131n\u0131 belirler. G\u00fc\u00e7l\u00fc ve modern algoritmalar se\u00e7mek \u00f6nemlidir.<br \/>\n*   <code>ssl_prefer_server_ciphers on;<\/code>: Sunucunun kendi \u015fifreleme tercihini kullanmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>ssl_session_cache<\/code> ve <code>ssl_session_timeout<\/code>: SSL oturum \u00f6nbelle\u011fini ve zaman a\u015f\u0131m\u0131n\u0131 yap\u0131land\u0131r\u0131r. Bu, yeniden ba\u011flant\u0131larda el s\u0131k\u0131\u015fma s\u00fcresini k\u0131saltarak performans\u0131 art\u0131r\u0131r.<br \/>\n*   <code>root<\/code> ve <code>index<\/code>: Web sitenizin ana dizinini ve varsay\u0131lan dizin dosyalar\u0131n\u0131 belirtir.<\/p>\n<h4>HTTP&#8217;den HTTPS&#8217;e Y\u00f6nlendirme (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir)<\/h4>\n<p>Kullan\u0131c\u0131lar\u0131n sitenize her zaman g\u00fcvenli ba\u011flant\u0131 \u00fczerinden eri\u015fmesini sa\u011flamak i\u00e7in, HTTP (port 80) \u00fczerinden gelen t\u00fcm istekleri HTTPS&#8217;e (port 443) y\u00f6nlendirmek iyi bir uygulamad\u0131r. Bunu, yap\u0131land\u0131rma dosyan\u0131za a\u015fa\u011f\u0131daki gibi ayr\u0131 bir <code>server<\/code> blo\u011fu ekleyerek yapabilirsiniz:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n    server_name your_domain.com www.your_domain.com your_server_ip; # Kendi alan ad\u0131n\u0131z\u0131 veya IP adresinizi girin\n    return 301 https:\/\/$host$request_uri;\n}<\/code><\/pre>\n<p>Bu blok, 80. porttan gelen t\u00fcm istekleri kal\u0131c\u0131 olarak (301 kodu ile) HTTPS s\u00fcr\u00fcm\u00fcne y\u00f6nlendirir.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydetmek ve kapatmak i\u00e7in <code>CTRL+X<\/code>, ard\u0131ndan <code>Y<\/code> ve <code>Enter<\/code> tu\u015flar\u0131na bas\u0131n.<\/p>\n<h4>Yap\u0131land\u0131rma S\u00f6zdizimini Kontrol Etme<\/h4>\n<p>Nginx yap\u0131land\u0131rman\u0131zda herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/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 varsa, nano ile dosyay\u0131 tekrar a\u00e7\u0131p hatalar\u0131 d\u00fczeltin.<\/p>\n<h4>Nginx&#8217;i Yeniden Ba\u015flatma<\/h4>\n<p>Yap\u0131land\u0131rma de\u011fi\u015fikliklerinin etkili olmas\u0131 i\u00e7in Nginx servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart nginx<\/code><\/pre>\n<h3>4. G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma (UFW)<\/h3>\n<p>Daha \u00f6nce sadece HTTP trafi\u011fine izin vermi\u015ftik. \u015eimdi HTTPS trafi\u011fine de izin vermek i\u00e7in UFW&#8217;yi g\u00fcncellememiz gerekiyor:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Nginx HTTPS'<\/code><\/pre>\n<p>E\u011fer HTTP&#8217;den HTTPS&#8217;e y\u00f6nlendirme yapt\u0131ysan\u0131z ve sadece HTTPS \u00fczerinden eri\u015fim sa\u011flamak istiyorsan\u0131z, <code>Nginx HTTP<\/code> kural\u0131n\u0131 kald\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw delete allow 'Nginx HTTP'<\/code><\/pre>\n<p>G\u00fcncel g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>443. portun a\u00e7\u0131k oldu\u011funu ve (iste\u011fe ba\u011fl\u0131 olarak) 80. portun kapal\u0131 oldu\u011funu g\u00f6rmelisiniz.<\/p>\n<h3>5. Test Etme<\/h3>\n<p>\u015eimdi web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131 HTTPS protokol\u00fc ile ziyaret edin:<\/p>\n<pre><code class=\"language-\">https:\/\/your_server_ip_or_domain.com<\/code><\/pre>\n<p>Kendinden imzal\u0131 bir sertifika kulland\u0131\u011f\u0131n\u0131z i\u00e7in taray\u0131c\u0131n\u0131z b\u00fcy\u00fck olas\u0131l\u0131kla bir g\u00fcvenlik uyar\u0131s\u0131 g\u00f6sterecektir. Bu normaldir ve beklenen bir durumdur. Taray\u0131c\u0131n\u0131z\u0131n uyar\u0131 mesaj\u0131na ba\u011fl\u0131 olarak &#8220;Geli\u015fmi\u015f&#8221; veya &#8220;Devam et&#8221; gibi bir se\u00e7ene\u011fi t\u0131klayarak siteye eri\u015febilirsiniz.<\/p>\n<p>Taray\u0131c\u0131n\u0131z\u0131n adres \u00e7ubu\u011fundaki kilit simgesine t\u0131klayarak veya &#8220;Sertifika Bilgileri&#8221; (Certificate Information) b\u00f6l\u00fcm\u00fcne giderek sertifikan\u0131z\u0131n detaylar\u0131n\u0131 kontrol edebilirsiniz. Sertifikay\u0131 olu\u015ftururken girdi\u011finiz bilgilerin (Common Name, Organization vb.) burada g\u00f6r\u00fcnd\u00fc\u011f\u00fcnden emin olun.<\/p>\n<h3>Geli\u015fmi\u015f Ayarlar ve En \u0130yi Uygulamalar<\/h3>\n<p>Nginx SSL yap\u0131land\u0131rman\u0131z\u0131 daha da g\u00fc\u00e7lendirmek i\u00e7in baz\u0131 ek ad\u0131mlar uygulayabilirsiniz:<\/p>\n<h4>Diffie-Hellman Parametreleri Olu\u015fturma<\/h4>\n<p>Diffie-Hellman (DH) parametreleri, &#8220;ileri gizlilik&#8221; (Forward Secrecy) sa\u011flamak i\u00e7in kullan\u0131l\u0131r. Bu, bir oturum anahtar\u0131n\u0131n gelecekte tehlikeye at\u0131lmas\u0131 durumunda bile ge\u00e7mi\u015f oturumlar\u0131n \u015fifresinin \u00e7\u00f6z\u00fclemeyece\u011fi anlam\u0131na gelir. G\u00fc\u00e7l\u00fc bir DH grubu olu\u015fturmak biraz zaman alabilir:<\/p>\n<pre><code class=\"language-bash\">sudo openssl dhparam -out \/etc\/nginx\/ssl\/dhparam.pem 2048<\/code><\/pre>\n<p>Bu komut 2048 bitlik bir DH parametre dosyas\u0131 olu\u015fturur. Daha g\u00fc\u00e7l\u00fc g\u00fcvenlik i\u00e7in 4096 bit de kullanabilirsiniz (<code>rsa:4096<\/code> gibi), ancak bu i\u015flem \u00e7ok daha uzun s\u00fcrebilir.<\/p>\n<p>Olu\u015fturduktan sonra, bu dosyay\u0131 Nginx yap\u0131land\u0131rman\u0131za ekleyin:<\/p>\n<pre><code class=\"language-nginx\"># ... di\u011fer ssl ayarlar\u0131 ...\nssl_dhparam \/etc\/nginx\/ssl\/dhparam.pem;\n<h2>...<\/code><\/pre>\n<\/h2>\n<h4>HSTS (HTTP Strict Transport Security) Ekleme<\/h4>\n<p>HSTS, taray\u0131c\u0131lara sitenize her zaman HTTPS \u00fczerinden ba\u011flanmalar\u0131n\u0131 s\u00f6yleyen bir g\u00fcvenlik politikas\u0131d\u0131r. Bu, kullan\u0131c\u0131lar\u0131n yanl\u0131\u015fl\u0131kla HTTP \u00fczerinden eri\u015fmesini veya SSL \u015feritleme sald\u0131r\u0131lar\u0131na maruz kalmas\u0131n\u0131 \u00f6nler.<\/p>\n<p>HTTPS <code>server<\/code> blo\u011funuza a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-nginx\"># ... di\u011fer ayarlar ...\nadd_header Strict-Transport-Security \"max-age=31536000; includeSubDomains\" always;\n<h2>...<\/code><\/pre>\n<\/h2>\n<p>*   <code>max-age=31536000<\/code>: Taray\u0131c\u0131ya bu kural\u0131 1 y\u0131l (31,536,000 saniye) boyunca hat\u0131rlamas\u0131n\u0131 s\u00f6yler.<br \/>\n*   <code>includeSubDomains<\/code>: Bu kural\u0131n t\u00fcm alt alan adlar\u0131 i\u00e7in de ge\u00e7erli olmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>always<\/code>: Yan\u0131tlara her zaman bu ba\u015fl\u0131\u011f\u0131 ekler.<\/p>\n<p>Bu ba\u015fl\u0131\u011f\u0131 ekledikten sonra Nginx&#8217;i yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>E\u011fer bir sorunla kar\u015f\u0131la\u015f\u0131rsan\u0131z, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyerek sorunu gidermeye \u00e7al\u0131\u015fabilirsiniz:<\/p>\n<p>*   <strong>Nginx Yap\u0131land\u0131rma Kontrol\u00fc:<\/strong> <code>sudo nginx -t<\/code> komutuyla yap\u0131land\u0131rma dosyan\u0131zda s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n*   <strong>Nginx Durumu:<\/strong> <code>sudo systemctl status nginx<\/code> komutuyla Nginx servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin. Hata mesajlar\u0131 i\u00e7in <code>sudo journalctl -xe<\/code> komutunu kullanabilirsiniz.<br \/>\n*   <strong>Nginx Hata Kay\u0131tlar\u0131:<\/strong> Nginx&#8217;in hata kay\u0131tlar\u0131n\u0131 kontrol edin: <code>\/var\/log\/nginx\/error.log<\/code>. Bu dosya, yap\u0131land\u0131rma hatalar\u0131 veya eri\u015fim sorunlar\u0131 hakk\u0131nda ipu\u00e7lar\u0131 verebilir.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> <code>sudo ufw status<\/code> komutuyla 443. portun a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n*   <strong>Dosya Yollar\u0131 ve \u0130zinler:<\/strong> Sertifika ve anahtar dosyalar\u0131n\u0131n yollar\u0131n\u0131n Nginx yap\u0131land\u0131rmas\u0131nda do\u011fru oldu\u011fundan ve dosya izinlerinin (\u00f6zellikle \u00f6zel anahtar i\u00e7in <code>600<\/code>) do\u011fru ayarland\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>Common Name Uyu\u015fmazl\u0131\u011f\u0131:<\/strong> Sertifikay\u0131 olu\u015ftururken girdi\u011finiz &#8220;Common Name&#8221; ile taray\u0131c\u0131da girdi\u011finiz adresin tam olarak e\u015fle\u015fti\u011finden emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 18.04 \u00fczerinde Nginx i\u00e7in kendinden 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 ele ald\u0131k. Kendinden imzal\u0131 sertifikalar, geli\u015ftirme ve test ortamlar\u0131 i\u00e7in h\u0131zl\u0131 ve etkili bir \u00e7\u00f6z\u00fcm sunar, ancak taray\u0131c\u0131lar\u0131n uyar\u0131 vermesi nedeniyle \u00fcretim ortamlar\u0131 i\u00e7in uygun de\u011fildir.<\/p>\n<p>Geli\u015ftirme s\u00fcrecinizde g\u00fcvenli ba\u011flant\u0131lar\u0131n \u00f6nemini anlamak ve uygulamak, daha g\u00fcvenli uygulamalar geli\u015ftirmenize yard\u0131mc\u0131 olacakt\u0131r. \u00dcretim ortam\u0131na ge\u00e7ti\u011finizde ise, Let&#8217;s Encrypt gibi \u00fccretsiz ve g\u00fcvenilir bir sertifika yetkilisinden (Certbot arac\u0131 ile) sertifika almay\u0131 veya ticari bir CA&#8217;dan sertifika edinmeyi kesinlikle d\u00fc\u015f\u00fcnmelisiniz. Bu sayede kullan\u0131c\u0131lar\u0131n\u0131z herhangi bir g\u00fcvenlik uyar\u0131s\u0131 almadan sitenize g\u00fcvenli bir \u015fekilde eri\u015febilirler. Bu rehber, Nginx ve SSL sertifikalar\u0131yla \u00e7al\u0131\u015fma konusunda size sa\u011flam bir temel sa\u011flam\u0131\u015ft\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma\nGiri\u015f\nG\u00fcn\u00fcm\u00fczde internet sitelerinin g\u00fcvenli\u011f","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-32212","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 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) 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-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-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 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma Giri\u015f G\u00fcn\u00fcm\u00fczde internet sitelerinin g\u00fcvenli\u011f\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-19T00:40:46+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=\"14 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma\",\"datePublished\":\"2025-10-19T00:40:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/\"},\"wordCount\":2315,\"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-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/\",\"name\":\"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-19T00:40:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) 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 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) 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-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma","og_description":"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma Giri\u015f G\u00fcn\u00fcm\u00fczde internet sitelerinin g\u00fcvenli\u011f","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-19T00:40:46+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"14 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma","datePublished":"2025-10-19T00:40:46+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/"},"wordCount":2315,"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-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/","name":"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) SSL Sertifikas\u0131 Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-19T00:40:46+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-18-04-uzerinde-nginx-icin-kendinden-imzali-self-signed-ssl-sertifikasi-olusturma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 18.04 \u00dczerinde Nginx \u0130\u00e7in Kendinden \u0130mzal\u0131 (Self-Signed) 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\/32212","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=32212"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32212\/revisions"}],"predecessor-version":[{"id":32213,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32212\/revisions\/32213"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}