{"id":36297,"date":"2025-12-13T01:40:46","date_gmt":"2025-12-12T22:40:46","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36297"},"modified":"2025-12-13T01:40:46","modified_gmt":"2025-12-12T22:40:46","slug":"nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/","title":{"rendered":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web uygulamalar\u0131 ve sunucular, hassas verilere veya y\u00f6netim panellerine yetkisiz eri\u015fimi engellemek i\u00e7in \u00e7e\u015fitli g\u00fcvenlik katmanlar\u0131na ihtiya\u00e7 duyar. Bu g\u00fcvenlik katmanlar\u0131ndan biri, basitli\u011fi ve h\u0131zl\u0131 uygulanabilirli\u011fi sayesinde hala yayg\u0131n olarak kullan\u0131lan Temel HTTP Kimlik Do\u011frulama (Basic HTTP Authentication) y\u00f6ntemidir. Bu makale, Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan Nginx web sunucunuzda temel HTTP kimlik do\u011frulamas\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r. Her ne kadar Ubuntu 14.04&#8217;\u00fcn destek \u00f6mr\u00fc sona ermi\u015f olsa da, bu rehber mevcut eski sistemleri y\u00f6netenler veya Nginx&#8217;in temel g\u00fcvenlik mekanizmalar\u0131n\u0131 \u00f6\u011frenmek isteyenler i\u00e7in de\u011ferli bir kaynak olacakt\u0131r.<\/p>\n<h3>Temel HTTP Kimlik Do\u011frulama Nedir ve Neden Kullan\u0131l\u0131r?<\/h3>\n<p>Temel HTTP Kimlik Do\u011frulama, HTTP protokol\u00fc taraf\u0131ndan sa\u011flanan basit bir kimlik do\u011frulama mekanizmas\u0131d\u0131r. Bir web sunucusu, belirli bir kayna\u011fa eri\u015fim istendi\u011finde istemciden bir kullan\u0131c\u0131 ad\u0131 ve \u015fifre talep edebilir. \u0130stemci (genellikle bir web taray\u0131c\u0131s\u0131), bu bilgileri Base64 format\u0131nda kodlayarak her istekte <code>Authorization<\/code> ba\u015fl\u0131\u011f\u0131 alt\u0131nda sunucuya g\u00f6nderir. Sunucu, al\u0131nan kimlik bilgilerini kendi b\u00fcnyesindeki bir kullan\u0131c\u0131\/\u015fifre listesiyle kar\u015f\u0131la\u015ft\u0131r\u0131r ve e\u015fle\u015fme durumunda kayna\u011fa eri\u015fim izni verir veya reddeder.<\/p>\n<p>Bu y\u00f6ntem, \u00f6zellikle a\u015fa\u011f\u0131daki senaryolarda faydal\u0131d\u0131r:<\/p>\n<p>*   <strong>Geli\u015ftirme veya Staging Ortamlar\u0131:<\/strong> Hen\u00fcz genel kullan\u0131ma a\u00e7\u0131lmam\u0131\u015f web sitelerinin veya uygulamalar\u0131n yetkisiz ki\u015filer taraf\u0131ndan g\u00f6r\u00fcnt\u00fclenmesini engellemek.<br \/>\n*   <strong>Y\u00f6netim Panelleri:<\/strong> Web sitesi y\u00f6netim panelleri, veritaban\u0131 aray\u00fczleri veya sunucu izleme ara\u00e7lar\u0131 gibi hassas alanlara ek bir g\u00fcvenlik katman\u0131 eklemek.<br \/>\n*   <strong>K\u00fc\u00e7\u00fck, \u00d6zel \u0130\u00e7erikler:<\/strong> Belirli bir grup kullan\u0131c\u0131ya \u00f6zel olarak sunulan, ancak tam te\u015fekk\u00fcll\u00fc bir \u00fcyelik sistemine ihtiya\u00e7 duymayan i\u00e7erikler i\u00e7in h\u0131zl\u0131 ve kolay bir \u00e7\u00f6z\u00fcm.<br \/>\n*   <strong>API Eri\u015fimi:<\/strong> \u00c7ok basit API&#8217;ler i\u00e7in h\u0131zl\u0131 bir kimlik do\u011frulama mekanizmas\u0131 sa\u011flamak.<\/p>\n<p>Temel HTTP Kimlik Do\u011frulama&#8217;n\u0131n ba\u015fl\u0131ca avantajlar\u0131 basitli\u011fi, h\u0131zl\u0131 kurulumu ve \u00e7o\u011fu web sunucusu (Nginx, Apache) taraf\u0131ndan do\u011frudan desteklenmesidir. Ancak, \u00f6nemli bir dezavantaj\u0131, kimlik bilgilerinin Base64 ile kodlanm\u0131\u015f olmas\u0131na ra\u011fmen \u015fifrelenmemi\u015f metin olarak g\u00f6nderilmesidir. Bu, HTTPS (SSL\/TLS) kullan\u0131lmad\u0131\u011f\u0131 takdirde bir a\u011f dinleyicisi taraf\u0131ndan kolayca ele ge\u00e7irilebilece\u011fi anlam\u0131na gelir. Bu nedenle, hassas verilerle \u00e7al\u0131\u015f\u0131rken veya \u00fcretim ortamlar\u0131nda her zaman HTTPS ile birlikte kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce, a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>Ubuntu 14.04 Sunucusu:<\/strong> Temiz bir Ubuntu 14.04 kurulumu veya mevcut bir sunucu. Bu rehberin amac\u0131 Ubuntu 14.04 \u00fczerinde kurulumu g\u00f6stermek olsa da, g\u00fcvenlik nedeniyle m\u00fcmk\u00fcnse daha g\u00fcncel bir Ubuntu s\u00fcr\u00fcm\u00fcne ge\u00e7meniz \u015fiddetle tavsiye edilir.<br \/>\n*   <strong>Nginx Kurulumu:<\/strong> Sunucunuzda Nginx web sunucusunun kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131. E\u011fer kurulu de\u011filse, a\u015fa\u011f\u0131daki komutlarla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\n    sudo apt-get install nginx\n    sudo service nginx start<\/code><\/pre>\n<p>*   <strong><code>sudo<\/code> Yetkileri:<\/strong> Sunucuda y\u00f6netici ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131 hesab\u0131n\u0131z\u0131n olmas\u0131.<br \/>\n*   <strong><code>apache2-utils<\/code> Paketi:<\/strong> Kimlik do\u011frulama i\u00e7in gerekli \u015fifre dosyas\u0131n\u0131 olu\u015fturmak amac\u0131yla <code>htpasswd<\/code> arac\u0131n\u0131 i\u00e7eren <code>apache2-utils<\/code> paketinin kurulu olmas\u0131. Bu paketi bir sonraki ad\u0131mda kuraca\u011f\u0131z.<\/p>\n<h3>Ad\u0131m 1: <code>apache2-utils<\/code> Paketini Kurma<\/h3>\n<p>Temel HTTP Kimlik Do\u011frulama i\u00e7in kullan\u0131c\u0131 ad\u0131 ve \u015fifrelerin saklanaca\u011f\u0131 \u00f6zel bir dosya olu\u015fturmam\u0131z gerekmektedir. Nginx, bu dosyay\u0131 Apache web sunucusu taraf\u0131ndan da kullan\u0131lan <code>htpasswd<\/code> format\u0131nda bekler. Bu dosyay\u0131 olu\u015fturmak ve y\u00f6netmek i\u00e7in <code>apache2-utils<\/code> paketinde bulunan <code>htpasswd<\/code> yard\u0131mc\u0131 program\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n<p>\u0130lk olarak, paket listelerinizi g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update<\/code><\/pre>\n<p>Ard\u0131ndan, <code>apache2-utils<\/code> paketini kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install apache2-utils<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, <code>htpasswd<\/code> komutunun sisteminizde mevcut olup olmad\u0131\u011f\u0131n\u0131 basit\u00e7e komutun versiyonunu sorgulayarak kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">htpasswd -v<\/code><\/pre>\n<p>Bu komut, <code>htpasswd<\/code> arac\u0131n\u0131n s\u00fcr\u00fcm bilgilerini g\u00f6stermelidir.<\/p>\n<h3>Ad\u0131m 2: \u015eifre Dosyas\u0131n\u0131 Olu\u015fturma<\/h3>\n<p>\u015eimdi, Nginx&#8217;in kimlik do\u011frulama i\u00e7in kullanaca\u011f\u0131 \u015fifre dosyas\u0131n\u0131 olu\u015fturaca\u011f\u0131z. Bu dosya, kullan\u0131c\u0131 adlar\u0131n\u0131 ve \u015fifrelerinin \u015fifrelenmi\u015f (hashlenmi\u015f) hallerini i\u00e7erecektir. G\u00fcvenlik nedeniyle, bu dosyan\u0131n web k\u00f6k dizininizin d\u0131\u015f\u0131nda ve yaln\u0131zca Nginx taraf\u0131ndan okunabilir bir konumda saklanmas\u0131 \u00e7ok \u00f6nemlidir. <code>\/etc\/nginx\/<\/code> dizini, bu t\u00fcr yap\u0131land\u0131rma dosyalar\u0131 i\u00e7in uygun bir yerdir.<\/p>\n<p>Yeni bir \u015fifre dosyas\u0131 olu\u015fturmak ve ilk kullan\u0131c\u0131y\u0131 eklemek i\u00e7in <code>htpasswd -c<\/code> komutunu kullan\u0131r\u0131z. <code>-c<\/code> bayra\u011f\u0131, belirtilen yolda yeni bir dosya olu\u015fturulaca\u011f\u0131n\u0131 belirtir.<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd -c \/etc\/nginx\/.htpasswd kullanici_adi<\/code><\/pre>\n<p><code>kullanici_adi<\/code> yerine, ilk kullan\u0131c\u0131 i\u00e7in istedi\u011finiz kullan\u0131c\u0131 ad\u0131n\u0131 yaz\u0131n. \u00d6rne\u011fin, <code>admin<\/code> kullan\u0131c\u0131s\u0131 i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd -c \/etc\/nginx\/.htpasswd admin<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, sizden bu kullan\u0131c\u0131 i\u00e7in bir \u015fifre girmenizi ve ard\u0131ndan tekrar girerek onaylaman\u0131z\u0131 isteyecektir. G\u00fc\u00e7l\u00fc bir \u015fifre se\u00e7ti\u011finizden emin olun.<\/p>\n<p><strong>Ek Kullan\u0131c\u0131lar Ekleme:<\/strong><br \/>\nDaha sonra ba\u015fka kullan\u0131c\u0131lar eklemek isterseniz, <code>-c<\/code> bayra\u011f\u0131n\u0131 kullanmay\u0131n. <code>-c<\/code> bayra\u011f\u0131n\u0131 tekrar kullanmak, mevcut dosyay\u0131 silip yeni bir dosya olu\u015fturaca\u011f\u0131 i\u00e7in \u00f6nceki kullan\u0131c\u0131lar\u0131 kaybetmenize neden olur. Mevcut dosyaya yeni bir kullan\u0131c\u0131 eklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd \/etc\/nginx\/.htpasswd yeni_kullanici_adi<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code>user1<\/code> ad\u0131nda bir kullan\u0131c\u0131 eklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd \/etc\/nginx\/.htpasswd user1<\/code><\/pre>\n<p><strong>\u015eifre Dosyas\u0131n\u0131n \u0130\u00e7eri\u011fini Kontrol Etme:<\/strong><br \/>\nOlu\u015fturdu\u011funuz <code>.htpasswd<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fini a\u015fa\u011f\u0131daki komutla g\u00f6r\u00fcnt\u00fcleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo cat \/etc\/nginx\/.htpasswd<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, kullan\u0131c\u0131 adlar\u0131n\u0131 ve bunlar\u0131n karma (hashed) \u015fifrelerini i\u00e7erecektir:<\/p>\n<pre><code class=\"language-\">admin:$apr1$e.g.j...$a_hash_value\nuser1:$apr1$o.t.h...$another_hash_value<\/code><\/pre>\n<p><strong>Dosya \u0130zinlerini Ayarlama:<\/strong><br \/>\nG\u00fcvenlik a\u00e7\u0131s\u0131ndan, <code>.htpasswd<\/code> dosyas\u0131n\u0131n do\u011fru dosya izinlerine sahip olmas\u0131 kritik \u00f6neme sahiptir. Yaln\u0131zca Nginx&#8217;in bu dosyay\u0131 okuyabilmesini sa\u011flamal\u0131 ve di\u011fer kullan\u0131c\u0131lar\u0131n eri\u015fimini k\u0131s\u0131tlamal\u0131s\u0131n\u0131z.<\/p>\n<p>\u00d6ncelikle, dosyan\u0131n sahibini <code>root<\/code> ve grubunu <code>www-data<\/code> (Nginx&#8217;in genellikle \u00e7al\u0131\u015ft\u0131\u011f\u0131 grup) olarak ayarlayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo chown root:www-data \/etc\/nginx\/.htpasswd<\/code><\/pre>\n<p>Ard\u0131ndan, dosya izinlerini yaln\u0131zca sahibin (root) okuma ve yazma, grubun (www-data) okuma, di\u011ferlerinin ise hi\u00e7bir eri\u015fiminin olmamas\u0131 \u015feklinde ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo chmod 640 \/etc\/nginx\/.htpasswd<\/code><\/pre>\n<p>Bu izinler, Nginx&#8217;in dosyay\u0131 okuyabilmesini sa\u011flarken, yetkisiz kullan\u0131c\u0131lar\u0131n dosyay\u0131 g\u00f6r\u00fcnt\u00fclemesini veya de\u011fi\u015ftirmesini engeller.<\/p>\n<h3>Ad\u0131m 3: Nginx Yap\u0131land\u0131rmas\u0131n\u0131 D\u00fczenleme<\/h3>\n<p>\u015eimdi Nginx&#8217;i, belirli bir dizini veya t\u00fcm web sitesini korumak i\u00e7in bu \u015fifre dosyas\u0131n\u0131 kullanacak \u015fekilde yap\u0131land\u0131rmam\u0131z gerekiyor. Nginx yap\u0131land\u0131rma dosyalar\u0131 genellikle <code>\/etc\/nginx\/sites-available\/<\/code> dizininde bulunur ve <code>\/etc\/nginx\/sites-enabled\/<\/code> dizinine sembolik ba\u011flant\u0131larla etkinle\u015ftirilir. Varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131 genellikle <code>\/etc\/nginx\/sites-available\/default<\/code> \u015feklindedir.<\/p>\n<p>Nginx yap\u0131land\u0131rma dosyan\u0131z\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n. Nano veya Vim kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/default<\/code><\/pre>\n<p>Nginx yap\u0131land\u0131rmas\u0131na eklemeniz gereken iki ana direktif vard\u0131r:<\/p>\n<p>*   <code>auth_basic<\/code>: Kimlik do\u011frulama ileti\u015fim kutusunda g\u00f6r\u00fcnt\u00fclenecek mesaj\u0131 belirler (\u00f6rne\u011fin, &#8220;K\u0131s\u0131tl\u0131 Alan&#8221; veya &#8220;Y\u00f6netim Paneli&#8221;).<br \/>\n*   <code>auth_basic_user_file<\/code>: Olu\u015fturdu\u011funuz <code>.htpasswd<\/code> dosyas\u0131n\u0131n tam yolunu belirtir.<\/p>\n<p>Bu direktifleri, korumak istedi\u011finiz alana (t\u00fcm <code>server<\/code> blo\u011fu veya belirli bir <code>location<\/code> blo\u011fu) ekleyebilirsiniz.<\/p>\n<h4>T\u00fcm Bir Sanal Sunucuyu Korumak<\/h4>\n<p>E\u011fer t\u00fcm web sitenizi veya sanal sunucunuzu korumak istiyorsan\u0131z, direktifleri <code>server<\/code> blo\u011funun i\u00e7ine yerle\u015ftirin:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80 default_server;\n    listen [::]:80 default_server ipv6only=on;\n\n    root \/usr\/share\/nginx\/html;\n    index index.html index.htm;\n\n    # Bu iki sat\u0131r t\u00fcm sunucuyu korur\n    auth_basic \"K\u0131s\u0131tl\u0131 Alan - L\u00fctfen Giri\u015f Yap\u0131n\";\n    auth_basic_user_file \/etc\/nginx\/.htpasswd;\n\n    server_name localhost;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n}<\/code><\/pre>\n<h4>Belirli Bir Dizini Korumak<\/h4>\n<p>\u00c7o\u011fu zaman, yaln\u0131zca belirli bir dizini veya URL yolunu korumak istersiniz (\u00f6rne\u011fin, <code>\/admin<\/code> veya <code>\/private<\/code>). Bu durumda, direktifleri ilgili <code>location<\/code> blo\u011funun i\u00e7ine yerle\u015ftirin:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80 default_server;\n    listen [::]:80 default_server ipv6only=on;\n\n    root \/usr\/share\/nginx\/html;\n    index index.html index.htm;\n\n    server_name localhost;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    # Sadece \/admin dizinini koru\n    location \/admin\/ {\n        auth_basic \"Y\u00f6netim Paneli - Eri\u015fim K\u0131s\u0131tl\u0131d\u0131r\";\n        auth_basic_user_file \/etc\/nginx\/.htpasswd;\n        # Bu dizindeki dosyalar\u0131n nerede oldu\u011funu belirtin, \u00f6rne\u011fin:\n        root \/var\/www\/html; \n        # veya e\u011fer \/admin\/ path'i do\u011frudan root'un alt\u0131ndaki bir dizine i\u015faret ediyorsa\n        # alias \/var\/www\/html\/admin\/;\n        try_files $uri $uri\/ =404;\n    }\n}<\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte, <code>\/var\/www\/html\/admin\/<\/code> dizinindeki i\u00e7eri\u011fe eri\u015fmeye \u00e7al\u0131\u015fan kullan\u0131c\u0131lar bir kimlik do\u011frulama istemiyle kar\u015f\u0131la\u015facakt\u0131r.<\/p>\n<h4>Birden Fazla Konumu Farkl\u0131 Kimlik Bilgileriyle Korumak<\/h4>\n<p>Nginx, farkl\u0131 <code>.htpasswd<\/code> dosyalar\u0131 kullanarak farkl\u0131 <code>location<\/code> bloklar\u0131 i\u00e7in farkl\u0131 kimlik do\u011frulama setleri tan\u0131mlaman\u0131za olanak tan\u0131r.<\/p>\n<p>\u00d6nce yeni bir \u015fifre dosyas\u0131 olu\u015fturun, \u00f6rne\u011fin <code>\/etc\/nginx\/.htpasswd_private<\/code>:<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd -c \/etc\/nginx\/.htpasswd_private ozel_kullanici\nsudo chown root:www-data \/etc\/nginx\/.htpasswd_private\nsudo chmod 640 \/etc\/nginx\/.htpasswd_private<\/code><\/pre>\n<p>Ard\u0131ndan Nginx yap\u0131land\u0131rman\u0131zda bunlar\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-nginx\">server {\n    # ... di\u011fer yap\u0131land\u0131rmalar ...\n\n    location \/admin\/ {\n        auth_basic \"Y\u00f6netim Paneli\";\n        auth_basic_user_file \/etc\/nginx\/.htpasswd; # \u0130lk dosya\n        try_files $uri $uri\/ =404;\n    }\n\n    location \/private\/ {\n        auth_basic \"\u00d6zel \u0130\u00e7erik\";\n        auth_basic_user_file \/etc\/nginx\/.htpasswd_private; # \u0130kinci dosya\n        try_files $uri $uri\/ =404;\n    }\n}<\/code><\/pre>\n<h4>Belirli Yollar\u0131 Kimlik Do\u011frulamadan Hari\u00e7 Tutmak<\/h4>\n<p>Bazen bir <code>server<\/code> veya \u00fcst d\u00fczey <code>location<\/code> blo\u011funu korumak isteyebilir, ancak bu korunan alan i\u00e7indeki belirli bir alt yolu veya dosyay\u0131 hari\u00e7 tutmak isteyebilirsiniz. Bunu, hari\u00e7 tutulacak yol i\u00e7in yeni bir <code>location<\/code> blo\u011fu olu\u015fturarak ve i\u00e7inde <code>auth_basic off;<\/code> direktifini kullanarak yapabilirsiniz.<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name example.com;\n\n    root \/var\/www\/html;\n\n    # T\u00fcm sunucuyu koru\n    auth_basic \"Site Eri\u015fimi K\u0131s\u0131tl\u0131\";\n    auth_basic_user_file \/etc\/nginx\/.htpasswd;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    # Ancak \/public\/ dizinini kimlik do\u011frulamadan hari\u00e7 tut\n    location \/public\/ {\n        auth_basic off; # Bu dizin i\u00e7in kimlik do\u011frulamay\u0131 kapat\n        try_files $uri $uri\/ =404;\n    }\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, <code>example.com<\/code> adresine eri\u015fmeye \u00e7al\u0131\u015fan herkesin kimlik do\u011frulamas\u0131 yapmas\u0131n\u0131 gerektirirken, <code>example.com\/public\/<\/code> adresine eri\u015fimin kimlik do\u011frulamas\u0131 olmadan m\u00fcmk\u00fcn olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemeyi bitirdikten sonra, de\u011fi\u015fiklikleri kaydetmeyi ve metin d\u00fczenleyiciden \u00e7\u0131kmay\u0131 unutmay\u0131n (Nano i\u00e7in <code>Ctrl+O<\/code>, <code>Enter<\/code>, <code>Ctrl+X<\/code>).<\/p>\n<h3>Ad\u0131m 4: Nginx Yap\u0131land\u0131rmas\u0131n\u0131 Test Etme<\/h3>\n<p>Nginx yap\u0131land\u0131rma dosyan\u0131zda herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek \u00e7ok \u00f6nemlidir. Yanl\u0131\u015f bir yap\u0131land\u0131rma, Nginx&#8217;in yeniden ba\u015flat\u0131lmas\u0131n\u0131 engelleyebilir ve web sitenizi eri\u015filemez hale getirebilir.<\/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 do\u011fruysa, 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>E\u011fer bir hata mesaj\u0131 al\u0131rsan\u0131z, \u00e7\u0131kt\u0131da belirtilen sat\u0131r numaras\u0131n\u0131 ve hata a\u00e7\u0131klamas\u0131n\u0131 dikkatlice inceleyin. Yap\u0131land\u0131rma dosyan\u0131za geri d\u00f6n\u00fcn, hatay\u0131 d\u00fczeltin ve tekrar test edin.<\/p>\n<h3>Ad\u0131m 5: Nginx&#8217;i Yeniden Ba\u015flatma<\/h3>\n<p>Yap\u0131land\u0131rma testi ba\u015far\u0131l\u0131 olduktan sonra, de\u011fi\u015fikliklerin ge\u00e7erli olmas\u0131 i\u00e7in Nginx servisini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo service nginx restart<\/code><\/pre>\n<p>Nginx&#8217;in ba\u015far\u0131l\u0131 bir \u015fekilde yeniden ba\u015flat\u0131ld\u0131\u011f\u0131ndan emin olmak i\u00e7in servis durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo service nginx status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>nginx is running<\/code> veya benzer bir mesaj g\u00f6rmelisiniz.<\/p>\n<h3>Ad\u0131m 6: Kimlik Do\u011frulamal\u0131 Kayna\u011fa Eri\u015fim<\/h3>\n<p>\u015eimdi s\u0131ra, yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z korumal\u0131 alana bir web taray\u0131c\u0131s\u0131 \u00fczerinden eri\u015fmeyi denemeye geldi.<\/p>\n<p>1.  Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n.<br \/>\n2.  Nginx sunucunuzun IP adresini veya alan ad\u0131n\u0131, kimlik do\u011frulamas\u0131 uygulad\u0131\u011f\u0131n\u0131z yolla birlikte girin (\u00f6rne\u011fin, <code>http:\/\/your_server_ip\/admin\/<\/code>).<br \/>\n3.  Taray\u0131c\u0131n\u0131z, yap\u0131land\u0131rman\u0131zda belirtti\u011finiz mesajla (\u00f6rne\u011fin, &#8220;Y\u00f6netim Paneli &#8211; Eri\u015fim K\u0131s\u0131tl\u0131d\u0131r&#8221;) bir kimlik do\u011frulama penceresi a\u00e7mal\u0131d\u0131r.<br \/>\n4.  Olu\u015fturdu\u011funuz kullan\u0131c\u0131 ad\u0131n\u0131 ve \u015fifreyi girin.<br \/>\n5.  Do\u011fru kimlik bilgilerini girerseniz, korumal\u0131 i\u00e7eri\u011fe eri\u015febilmelisiniz. Yanl\u0131\u015f kimlik bilgileri girerseniz, taray\u0131c\u0131 size tekrar giri\u015f yapman\u0131z\u0131 isteyecek veya bir 401 Unauthorized hatas\u0131 g\u00f6sterecektir.<\/p>\n<p>Tebrikler! Nginx ve Ubuntu 14.04 \u00fczerinde temel HTTP kimlik do\u011frulamas\u0131n\u0131 ba\u015far\u0131yla kurdunuz.<\/p>\n<h3>Geli\u015fmi\u015f Hususlar ve En \u0130yi Uygulamalar<\/h3>\n<p>Temel HTTP Kimlik Do\u011frulama basit ve etkili olsa da, daha g\u00fcvenli ve sa\u011flam bir kurulum i\u00e7in baz\u0131 geli\u015fmi\u015f hususlar\u0131 ve en iyi uygulamalar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir.<\/p>\n<h4>HTTPS ile Birlikte Kullan\u0131m<\/h4>\n<p><strong>Bu en kritik noktad\u0131r.<\/strong> Temel HTTP Kimlik Do\u011frulama, kullan\u0131c\u0131 ad\u0131 ve \u015fifreyi Base64 ile kodlanm\u0131\u015f metin olarak g\u00f6nderir. Base64 bir \u015fifreleme y\u00f6ntemi de\u011fildir; veriyi yaln\u0131zca farkl\u0131 bir formata d\u00f6n\u00fc\u015ft\u00fcr\u00fcr ve kolayca \u00e7\u00f6z\u00fclebilir. Bu, bir sald\u0131rgan\u0131n a\u011f trafi\u011fini dinlemesi durumunda kimlik bilgilerini kolayca ele ge\u00e7irebilece\u011fi anlam\u0131na gelir. Bu riski ortadan kald\u0131rmak i\u00e7in, temel HTTP kimlik do\u011frulamas\u0131n\u0131 <strong>her zaman HTTPS (SSL\/TLS) ile birlikte kullanmal\u0131s\u0131n\u0131z.<\/strong> HTTPS, istemci ile sunucu aras\u0131ndaki t\u00fcm ileti\u015fimi \u015fifreleyerek kimlik bilgilerinin ve di\u011fer verilerin g\u00fcvenli\u011fini sa\u011flar. Let&#8217;s Encrypt gibi \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flayan hizmetler sayesinde HTTPS kurulumu art\u0131k \u00e7ok daha kolayd\u0131r.<\/p>\n<h4>G\u00fcvenli \u015eifre Dosyas\u0131 Y\u00f6netimi<\/h4>\n<p><code>.htpasswd<\/code> dosyas\u0131n\u0131n g\u00fcvenli\u011fi, kimlik do\u011frulama sisteminizin b\u00fct\u00fcnl\u00fc\u011f\u00fc i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p>*   <strong>Konum:<\/strong> Her zaman web k\u00f6k dizininizin d\u0131\u015f\u0131nda (\u00f6rne\u011fin, <code>\/var\/www\/html<\/code> d\u0131\u015f\u0131nda) saklay\u0131n. <code>\/etc\/nginx\/<\/code> gibi bir sistem dizini idealdir.<br \/>\n*   <strong>\u0130zinler:<\/strong> Dosya izinlerini <code>sudo chmod 640 \/etc\/nginx\/.htpasswd<\/code> olarak ayarlay\u0131n ve sahibini <code>root:www-data<\/code> olarak ayarlay\u0131n (<code>sudo chown root:www-data \/etc\/nginx\/.htpasswd<\/code>). Bu, yaln\u0131zca <code>root<\/code> ve <code>www-data<\/code> grubundaki kullan\u0131c\u0131lar\u0131n (Nginx&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131 kullan\u0131c\u0131) dosyay\u0131 okuyabilmesini sa\u011flar.<br \/>\n*   <strong>Yedekleme:<\/strong> <code>.htpasswd<\/code> dosyas\u0131n\u0131n d\u00fczenli yedeklerini al\u0131n.<\/p>\n<h4>IP Adresine G\u00f6re K\u0131s\u0131tlama<\/h4>\n<p>Kimlik do\u011frulamas\u0131n\u0131 belirli IP adresleriyle birle\u015ftirerek ek bir g\u00fcvenlik katman\u0131 ekleyebilirsiniz. \u00d6rne\u011fin, yaln\u0131zca belirli bir IP aral\u0131\u011f\u0131ndan gelen ba\u011flant\u0131lar\u0131n kimlik do\u011frulamas\u0131 yapmas\u0131na izin verebilirsiniz.<\/p>\n<pre><code class=\"language-nginx\">location \/admin\/ {\n    allow 192.168.1.0\/24; # Bu IP aral\u0131\u011f\u0131ndan gelenlere izin ver\n    deny all;             # Di\u011fer t\u00fcm IP'lerden gelenleri engelle\n\n    auth_basic \"Y\u00f6netim Paneli\";\n    auth_basic_user_file \/etc\/nginx\/.htpasswd;\n    try_files $uri $uri\/ =404;\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, 192.168.1.x a\u011f\u0131ndan gelen kullan\u0131c\u0131lar\u0131n <code>\/admin\/<\/code> dizinine eri\u015fmek i\u00e7in kimlik do\u011frulamas\u0131 yapmas\u0131n\u0131 gerektirirken, di\u011fer t\u00fcm IP adreslerinden gelen eri\u015fimi tamamen engeller.<\/p>\n<h4>Hata Sayfalar\u0131n\u0131n \u00d6zelle\u015ftirilmesi<\/h4>\n<p>Kullan\u0131c\u0131lar kimlik do\u011frulamas\u0131nda ba\u015far\u0131s\u0131z oldu\u011funda veya iptal etti\u011finde Nginx varsay\u0131lan bir &#8220;401 Unauthorized&#8221; hata sayfas\u0131 g\u00f6sterir. Bu sayfay\u0131 kendi markan\u0131za veya talimatlar\u0131n\u0131za uygun \u015fekilde \u00f6zelle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-nginx\">server {\n    # ...\n    error_page 401 \/custom_401.html;\n\n    location = \/custom_401.html {\n        root \/usr\/share\/nginx\/html; # Hata sayfas\u0131n\u0131n bulundu\u011fu dizin\n        internal; # Bu sayfan\u0131n do\u011frudan eri\u015filemez olmas\u0131n\u0131 sa\u011flar\n    }\n    # ...\n}<\/code><\/pre>\n<p><code>custom_401.html<\/code> dosyas\u0131n\u0131 <code>\/usr\/share\/nginx\/html<\/code> dizinine yerle\u015ftirmeyi unutmay\u0131n.<\/p>\n<h4>Performans ve \u00d6l\u00e7eklenebilirlik<\/h4>\n<p>Temel HTTP Kimlik Do\u011frulama, Nginx \u00fczerinde olduk\u00e7a hafiftir ve performans \u00fczerinde ihmal edilebilir bir etkiye sahiptir. K\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli uygulamalar i\u00e7in uygundur. Ancak, on binlerce veya y\u00fcz binlerce kullan\u0131c\u0131y\u0131 y\u00f6netmeniz gereken \u00e7ok b\u00fcy\u00fck \u00f6l\u00e7ekli sistemler i\u00e7in veya daha karma\u015f\u0131k yetkilendirme gereksinimleriniz varsa (\u00f6rne\u011fin, rol tabanl\u0131 eri\u015fim kontrol\u00fc, LDAP\/Radius entegrasyonu), Nginx Plus gibi ticari Nginx s\u00fcr\u00fcmlerinin veya ayr\u0131 bir kimlik do\u011frulama servisinin (OAuth, JWT) kullan\u0131lmas\u0131 daha uygun olabilir.<\/p>\n<h4>Ubuntu 14.04&#8217;\u00fcn Destek Sonu (EOL) ve G\u00fcvenlik<\/h4>\n<p>Bu rehber, Ubuntu 14.04 \u00fczerinde kurulumu g\u00f6stermektedir. Ancak, <strong>Ubuntu 14.04&#8217;\u00fcn resmi destek \u00f6mr\u00fc (End Of Life &#8211; EOL) 2019 y\u0131l\u0131nda sona ermi\u015ftir.<\/strong> Bu, Canonical&#8217;\u0131n art\u0131k bu s\u00fcr\u00fcm i\u00e7in g\u00fcvenlik g\u00fcncellemeleri, hata d\u00fczeltmeleri veya yaz\u0131l\u0131m yamalar\u0131 sa\u011flamad\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p><strong>EOL bir i\u015fletim sistemi \u00e7al\u0131\u015ft\u0131rmak, sunucunuzu ciddi g\u00fcvenlik risklerine maruz b\u0131rak\u0131r.<\/strong> Yeni ke\u015ffedilen g\u00fcvenlik a\u00e7\u0131klar\u0131 asla d\u00fczeltilmeyecek ve sunucunuz siber sald\u0131r\u0131lara kar\u015f\u0131 savunmas\u0131z kalacakt\u0131r. Bu nedenle:<\/p>\n<p>*   <strong>\u015eiddetle tavsiye edilir:<\/strong> M\u00fcmk\u00fcn olan en k\u0131sa s\u00fcrede sunucunuzu desteklenen daha yeni bir Ubuntu s\u00fcr\u00fcm\u00fcne (\u00f6rne\u011fin, Ubuntu 20.04 LTS veya 22.04 LTS) y\u00fckseltin.<br \/>\n*   Bu rehberi, yaln\u0131zca mevcut eski sistemleri y\u00f6netmek zorunda kalanlar veya Nginx&#8217;in temel i\u015flevlerini \u00f6\u011frenmek isteyenler i\u00e7in bir referans olarak kullan\u0131n. \u00dcretim ortamlar\u0131nda EOL bir i\u015fletim sistemi kullanmaktan ka\u00e7\u0131n\u0131n.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Kurulum s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>401 Unauthorized Hatas\u0131:<\/strong><br \/>\n    *   <strong>Yanl\u0131\u015f kullan\u0131c\u0131 ad\u0131\/\u015fifre:<\/strong> Taray\u0131c\u0131n\u0131za do\u011fru kimlik bilgilerini girdi\u011finizden emin olun.<br \/>\n    *   <strong>Yanl\u0131\u015f <code>.htpasswd<\/code> yolu:<\/strong> Nginx yap\u0131land\u0131rman\u0131zdaki <code>auth_basic_user_file<\/code> direktifinin <code>.htpasswd<\/code> dosyan\u0131z\u0131n tam ve do\u011fru yolunu g\u00f6sterdi\u011finden emin olun.<br \/>\n    *   <strong>Yanl\u0131\u015f dosya izinleri:<\/strong> <code>.htpasswd<\/code> dosyas\u0131n\u0131n Nginx taraf\u0131ndan okunabilir oldu\u011fundan emin olun (<code>sudo chmod 640 \/etc\/nginx\/.htpasswd<\/code> ve <code>sudo chown root:www-data \/etc\/nginx\/.htpasswd<\/code>).<br \/>\n    *   <strong>Nginx yeniden ba\u015flat\u0131lmad\u0131:<\/strong> Nginx servisini yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zdan emin olun (<code>sudo service nginx restart<\/code>).<br \/>\n*   <strong>403 Forbidden Hatas\u0131:<\/strong><br \/>\n    *   <strong>Dosya\/Dizin \u0130zinleri:<\/strong> Nginx&#8217;in korumal\u0131 dizin veya dosyalara eri\u015fim izinleri olmayabilir. <code>root<\/code> direktifinde belirtilen dizinlerin ve i\u00e7indeki dosyalar\u0131n Nginx kullan\u0131c\u0131s\u0131 (<code>www-data<\/code>) taraf\u0131ndan okunabilir oldu\u011fundan emin olun.<br \/>\n    *   <strong><code>allow<\/code>\/<code>deny<\/code> Direktifleri:<\/strong> Nginx yap\u0131land\u0131rman\u0131zda IP tabanl\u0131 <code>allow<\/code> veya <code>deny<\/code> direktifleri varsa, kendi IP adresinizin eri\u015fiminin engellenmedi\u011finden emin olun.<br \/>\n*   <strong>Nginx Ba\u015flam\u0131yor\/Yap\u0131land\u0131rma Hatas\u0131:<\/strong><br \/>\n    *   <code>sudo nginx -t<\/code> komutunu kullanarak yap\u0131land\u0131rma dosyan\u0131zdaki s\u00f6zdizimi hatalar\u0131n\u0131 kontrol edin. \u00c7\u0131kt\u0131da belirtilen hatay\u0131 d\u00fczeltin.<br \/>\n    *   Yap\u0131land\u0131rma dosyan\u0131zdaki bir direktifin yanl\u0131\u015f yaz\u0131lm\u0131\u015f veya eksik olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n*   <strong>Kullan\u0131c\u0131 Ad\u0131\/\u015eifre Unutuldu:<\/strong><br \/>\n    *   <code>.htpasswd<\/code> dosyas\u0131ndaki bir kullan\u0131c\u0131n\u0131n \u015fifresini do\u011frudan d\u00fczenleyemezsiniz. \u015eifreyi g\u00fcncellemek i\u00e7in, ayn\u0131 kullan\u0131c\u0131 ad\u0131yla <code>htpasswd<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n ( <code>-c<\/code> bayra\u011f\u0131 olmadan): <code>sudo htpasswd \/etc\/nginx\/.htpasswd kullanici_adi<\/code>. Bu, mevcut kullan\u0131c\u0131n\u0131n \u015fifresini g\u00fcncelleyecektir.<br \/>\n    *   Tamamen yeni bir kullan\u0131c\u0131 eklemek veya eski bir kullan\u0131c\u0131y\u0131 silip yeniden olu\u015fturmak da bir se\u00e7enektir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 14.04 \u00fczerinde Nginx web sunucunuzda temel HTTP kimlik do\u011frulamas\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. <code>htpasswd<\/code> yard\u0131mc\u0131 program\u0131n\u0131 kullanarak \u015fifre dosyas\u0131 olu\u015fturmaktan, Nginx yap\u0131land\u0131rmas\u0131n\u0131 d\u00fczenlemeye ve de\u011fi\u015fiklikleri test edip etkinle\u015ftirmeye kadar t\u00fcm s\u00fcreci ele ald\u0131k. Ayr\u0131ca, HTTPS ile birlikte kullan\u0131m, g\u00fcvenli dosya y\u00f6netimi, IP tabanl\u0131 k\u0131s\u0131tlamalar ve hata sayfalar\u0131n\u0131n \u00f6zelle\u015ftirilmesi gibi \u00f6nemli en iyi uygulamalar\u0131 ve geli\u015fmi\u015f hususlar\u0131 da inceledik.<\/p>\n<p>Temel HTTP kimlik do\u011frulama, belirli web kaynaklar\u0131n\u0131 yetkisiz eri\u015fime kar\u015f\u0131 korumak i\u00e7in h\u0131zl\u0131 ve etkili bir y\u00f6ntem sunar. Ancak, g\u00fcvenlik a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahip olan HTTPS ile birlikte kullan\u0131lmas\u0131 gerekti\u011fini unutmamak \u00f6nemlidir. Web sunucusu g\u00fcvenli\u011fi s\u00fcrekli bir \u00e7aba gerektirir ve bu kurulum, Nginx ile web g\u00fcvenli\u011fini sa\u011flaman\u0131n ilk ad\u0131mlar\u0131ndan biridir.<\/p>\n<p>Son olarak, Ubuntu 14.04&#8217;\u00fcn destek \u00f6mr\u00fcn\u00fcn sona erdi\u011fini ve g\u00fcvenlik riskleri ta\u015f\u0131d\u0131\u011f\u0131n\u0131 tekrar hat\u0131rlatmak isteriz. M\u00fcmk\u00fcn olan en k\u0131sa s\u00fcrede daha g\u00fcncel ve desteklenen bir i\u015fletim sistemi s\u00fcr\u00fcm\u00fcne ge\u00e7i\u015f yapman\u0131z, sunucunuzun ve verilerinizin g\u00fcvenli\u011fi i\u00e7in hayati \u00f6nem ta\u015f\u0131maktad\u0131r. Bu rehber, eski sistemleri y\u00f6netenler veya Nginx&#8217;in temel g\u00fcvenlik \u00f6zelliklerini anlamak isteyenler i\u00e7in bir ba\u015flang\u0131\u00e7 noktas\u0131 olabilir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu\nG\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web uygulamalar\u0131 ve sunucular, hassas verilere","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-36297","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>Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web uygulamalar\u0131 ve sunucular, hassas verilere\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-12T22: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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu\",\"datePublished\":\"2025-12-12T22:40:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/\"},\"wordCount\":2834,\"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\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/\",\"name\":\"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-12T22:40:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu","og_description":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web uygulamalar\u0131 ve sunucular, hassas verilere","og_url":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-12T22:40:46+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu","datePublished":"2025-12-12T22:40:46+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/"},"wordCount":2834,"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\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/","name":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-12T22:40:46+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ve-ubuntu-14-04-uzerinde-temel-http-kimlik-dogrulama-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Nginx ve Ubuntu 14.04 \u00dczerinde Temel HTTP Kimlik Do\u011frulama Kurulumu"}]},{"@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\/36297","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=36297"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36297\/revisions"}],"predecessor-version":[{"id":36298,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36297\/revisions\/36298"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}