{"id":458,"date":"2026-09-04T10:26:55","date_gmt":"2026-09-04T10:26:55","guid":{"rendered":"https:\/\/www.vps.tc\/blog\/?p=458"},"modified":"2026-09-04T09:41:32","modified_gmt":"2026-09-04T09:41:32","slug":"subdomain-nedir-alt-alan-adi-kullanim-rehberi","status":"publish","type":"post","link":"https:\/\/www.vps.tc\/blog\/tr\/subdomain-nedir-alt-alan-adi-kullanim-rehberi\/","title":{"rendered":"Alt Alan Ad\u0131 (Subdomain) Nedir? Kullan\u0131m Rehberi"},"content":{"rendered":"<div class=\"aiw-toc\" style=\"border:1px solid #dbe3ea;border-radius:8px;padding:16px 20px;margin:0 0 28px\"><strong>\u0130\u00e7indekiler<\/strong><\/p>\n<ol style=\"margin:10px 0 0;padding-left:22px\">\n<li><a href=\"#subdomain-nedir-ne-ise-yarar\">Subdomain nedir, ne i\u015fe yarar?<\/a><\/li>\n<li><a href=\"#alan-adi-hiyerarsisinde-subdomainin-yeri\">Alan ad\u0131 hiyerar\u015fisinde subdomain&#039;in yeri<\/a><\/li>\n<li><a href=\"#subdomain-hangi-durumlarda-kullanilir\">Subdomain hangi durumlarda kullan\u0131l\u0131r?<\/a><\/li>\n<li><a href=\"#subdomain-ve-alt-dizin-ayni-sey-degil\">Subdomain ve alt dizin ayn\u0131 \u015fey de\u011fil<\/a><\/li>\n<li><a href=\"#dns-panelinde-subdomain-olusturma\">DNS panelinde subdomain olu\u015fturma<\/a><\/li>\n<li><a href=\"#dns-kaydi-yetmez-web-sunucusunu-yapilandirmak\">DNS kayd\u0131 yetmez: web sunucusunu yap\u0131land\u0131rmak<\/a><\/li>\n<li><a href=\"#https-sertifikalar-ve-wildcard-subdomain\">HTTPS, sertifikalar ve wildcard subdomain<\/a><\/li>\n<li><a href=\"#subdomain-kullanirken-guvenlik-ayrintilari\">Subdomain kullan\u0131rken g\u00fcvenlik ayr\u0131nt\u0131lar\u0131<\/a><\/li>\n<li><a href=\"#wildcard-dns-ve-coklu-tenant-yapilari\">Wildcard DNS ve \u00e7oklu tenant yap\u0131lar\u0131<\/a><\/li>\n<li><a href=\"#subdomain-kaynakli-yaygin-hatalar\">Subdomain kaynakl\u0131 yayg\u0131n hatalar<\/a><\/li>\n<li><a href=\"#tasima-ve-isletim-sirasinda-kontrol-listem\">Ta\u015f\u0131ma ve i\u015fletim s\u0131ras\u0131nda kontrol listem<\/a><\/li>\n<li><a href=\"#seo-acisindan-subdomain-secimi\">SEO a\u00e7\u0131s\u0131ndan subdomain se\u00e7imi<\/a><\/li>\n<li><a href=\"#bir-subdomain-acmadan-once-kendinize-sorun\">Bir subdomain a\u00e7madan \u00f6nce kendinize sorun<\/a><\/li>\n<li><a href=\"#sik-sorulan-sorular\">S\u0131k Sorulan Sorular<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"subdomain-nedir-ne-ise-yarar\">Subdomain nedir, ne i\u015fe yarar?<\/h2>\n<p>Gece vardiyas\u0131nda yeni bir servis a\u00e7arken ilk yapt\u0131\u011f\u0131m i\u015flerden biri hostname&#8217;i belirlemektir. \u00c7\u00fcnk\u00fc <code>api.ornek.com<\/code> ile <code>panel.ornek.com<\/code> yaln\u0131zca okunakl\u0131 isimler de\u011fildir; DNS, web sunucusu, sertifika ve eri\u015fim politikas\u0131 bu isimler \u00fczerinden birbirine ba\u011flan\u0131r.<\/p>\n<p>Subdomain, T\u00fcrk\u00e7esiyle alt alan ad\u0131, ana alan ad\u0131n\u0131n alt\u0131nda yer alan isimdir. <code>ornek.com<\/code> ana alan ad\u0131ysa <code>blog.ornek.com<\/code>, <code>panel.ornek.com<\/code> ve <code>api.ornek.com<\/code> onun alt alan adlar\u0131d\u0131r.<\/p>\n<p>Teknik a\u00e7\u0131dan subdomain, DNS hiyerar\u015fisinde ana alan ad\u0131n\u0131n alt\u0131nda bulunan ve ayr\u0131 DNS kay\u0131tlar\u0131yla farkl\u0131 bir IP adresine, sunucuya ya da hizmete y\u00f6nlendirilebilen hostnamedir. Yeni bir domain sat\u0131n alman\u0131z gerekmez. <code>ornek.com<\/code> alan ad\u0131n\u0131n DNS y\u00f6netimine eri\u015fiminiz varsa <code>vps.ornek.com<\/code> kayd\u0131n\u0131 oradan olu\u015fturabilirsiniz.<\/p>\n<p>Alt alan ad\u0131 yeni bir alan ad\u0131 de\u011fildir; fakat web sunucusu, uygulama ve DNS a\u00e7\u0131s\u0131ndan ana alan ad\u0131ndan ba\u011f\u0131ms\u0131z davranabilir. Bu ayr\u0131m\u0131 ba\u015ftan kurmak \u00f6nemli. DNS kayd\u0131 yaln\u0131zca trafi\u011fin nereye gidece\u011fini s\u00f6yler. \u0130ste\u011fi kar\u015f\u0131layan taraf ise sunucudaki Nginx, Apache veya do\u011frudan uygulamad\u0131r.<\/p>\n<p>Ben subdomain&#8217;leri servisleri birbirinden ay\u0131rmak i\u00e7in kullan\u0131yorum. Evdeki Proxmox laboratuvar\u0131mda monitoring, dosya payla\u015f\u0131m\u0131 ve parola y\u00f6neticisi ayn\u0131 makinede \u00e7al\u0131\u015fsa bile her hizmetin ayr\u0131 bir hostname&#8217;i olmas\u0131 sertifika ve eri\u015fim kurallar\u0131n\u0131 daha anla\u015f\u0131l\u0131r tutuyor.<\/p>\n<h2 id=\"alan-adi-hiyerarsisinde-subdomainin-yeri\">Alan ad\u0131 hiyerar\u015fisinde subdomain&#8217;in yeri<\/h2>\n<p><code>status.ornek.com<\/code> adresini par\u00e7alara ay\u0131r\u0131rsak, en sa\u011fdaki <code>com<\/code> \u00fcst seviye alan ad\u0131d\u0131r. <code>ornek<\/code> alan ad\u0131, <code>status<\/code> ise bu alan ad\u0131n\u0131n alt\u0131ndaki etikettir. Birden fazla seviye de kullan\u0131labilir:<\/p>\n<pre><code>dev.api.ornek.com<\/code><\/pre>\n<p>Burada <code>api.ornek.com<\/code> bir alt alan ad\u0131, <code>dev.api.ornek.com<\/code> ise onun alt\u0131nda yer alan ba\u015fka bir seviyedir. DNS bu yap\u0131y\u0131 destekler. \u0130sim uzad\u0131k\u00e7a sertifika kapsam\u0131, \u00e7erez politikas\u0131, log takibi ve kullan\u0131c\u0131 deneyimi biraz daha karma\u015f\u0131k hale gelir. \u0130htiya\u00e7 yoksa \u00fc\u00e7 veya d\u00f6rt seviyeli hostname&#8217;ler kurmam.<\/p>\n<p>DNS taraf\u0131nda bir subdomain i\u00e7in farkl\u0131 kay\u0131t tipleri kullan\u0131labilir:<\/p>\n<ul>\n<li><strong>A kayd\u0131:<\/strong> Hostname&#8217;i IPv4 adresine y\u00f6nlendirir.<\/li>\n<li><strong>AAAA kayd\u0131:<\/strong> Hostname&#8217;i IPv6 adresine y\u00f6nlendirir.<\/li>\n<li><strong>CNAME kayd\u0131:<\/strong> Bir hostname&#8217;i ba\u015fka bir hostname&#8217;e y\u00f6nlendirir.<\/li>\n<li><strong>MX kayd\u0131:<\/strong> E-posta teslimi i\u00e7in kullan\u0131l\u0131r; subdomain \u00fczerinde ayr\u0131 bir e-posta ak\u0131\u015f\u0131 gerekti\u011finde kar\u015f\u0131n\u0131za \u00e7\u0131kar.<\/li>\n<li><strong>TXT kayd\u0131:<\/strong> Do\u011frulama, SPF, DKIM veya \u00e7e\u015fitli servislerin sahiplik kontrolleri i\u00e7in kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<p>VPS&#8217;inizin IPv4 adresi <code>203.0.113.20<\/code> ise DNS panelinde \u015fu kayd\u0131 olu\u015fturabilirsiniz:<\/p>\n<pre><code>T\u00fcr: A\nAd: app\nDe\u011fer: 203.0.113.20\nTTL: 3600<\/code><\/pre>\n<p>Bu kay\u0131t, <code>app.ornek.com<\/code> adresinin s\u00f6z konusu IPv4 adresine \u00e7\u00f6z\u00fclmesini sa\u011flar. Panel baz\u0131 sa\u011flay\u0131c\u0131larda &#8220;Ad&#8221; alan\u0131na yaln\u0131zca <code>app<\/code>, baz\u0131lar\u0131nda ise tam hostname yazman\u0131z\u0131 bekler. Alan a\u00e7\u0131klamas\u0131n\u0131 okumadan kopyala-yap\u0131\u015ft\u0131r yapmak, DNS taraf\u0131nda k\u00fc\u00e7\u00fck ama can s\u0131k\u0131c\u0131 hatalara yol a\u00e7abiliyor.<\/p>\n<h2 id=\"subdomain-hangi-durumlarda-kullanilir\">Subdomain hangi durumlarda kullan\u0131l\u0131r?<\/h2>\n<p>Alt alan ad\u0131n\u0131n g\u00fc\u00e7l\u00fc taraf\u0131, ayn\u0131 alan ad\u0131 alt\u0131nda farkl\u0131 i\u015flevleri ay\u0131rabilmesidir. Her servise ayr\u0131 bir domain almak yerine DNS ve web sunucusu seviyesinde s\u0131n\u0131rlar kurars\u0131n\u0131z.<\/p>\n<h3>Blog, ma\u011faza ve dok\u00fcmantasyon<\/h3>\n<p>Kurumsal sitenin ana sayfas\u0131n\u0131 <code>ornek.com<\/code>, i\u00e7erik b\u00f6l\u00fcm\u00fcn\u00fc <code>blog.ornek.com<\/code>, \u00fcr\u00fcn katalo\u011funu da <code>magaza.ornek.com<\/code> alt\u0131nda \u00e7al\u0131\u015ft\u0131rabilirsiniz. Bu b\u00f6l\u00fcmler farkl\u0131 uygulamalarda veya farkl\u0131 hosting hesaplar\u0131nda bar\u0131n\u0131yorsa subdomain pratik bir ba\u011flant\u0131 noktas\u0131 olur.<\/p>\n<p>Her i\u00e7eri\u011fi otomatik olarak subdomain&#8217;e ta\u015f\u0131mak do\u011fru de\u011fildir. Arama motoru a\u00e7\u0131s\u0131ndan <code>blog.ornek.com<\/code> ayr\u0131 bir site gibi de\u011ferlendirilebilir. \u0130\u00e7eri\u011fin ana domain ile ayn\u0131 yap\u0131 i\u00e7inde b\u00fcy\u00fcmesini istiyorsan\u0131z <code>ornek.com\/blog<\/code> bi\u00e7imindeki alt dizin daha uygun olabilir.<\/p>\n<h3>API ve y\u00f6netim panelleri<\/h3>\n<p>Bir uygulaman\u0131n API u\u00e7lar\u0131n\u0131 <code>api.ornek.com<\/code>, kullan\u0131c\u0131 panelini <code>panel.ornek.com<\/code>, durum sayfas\u0131n\u0131 da <code>status.ornek.com<\/code> alt\u0131nda yay\u0131nlamak yayg\u0131n bir d\u00fczendir. Nginx \u00fczerinde her hizmet i\u00e7in ayr\u0131 <code>server<\/code> blo\u011fu yazabilir, rate limit ve eri\u015fim politikalar\u0131n\u0131 birbirinden ay\u0131rabilirsiniz.<\/p>\n<h3>Geli\u015ftirme ve test ortamlar\u0131<\/h3>\n<p><code>staging.ornek.com<\/code> veya <code>dev.ornek.com<\/code> gibi isimler, canl\u0131 sistemden ayr\u0131lm\u0131\u015f test ortamlar\u0131nda i\u015fe yarar. Fakat hostname&#8217;in i\u00e7inde <code>staging<\/code> yazmas\u0131 sistemi g\u00fcvenli yapmaz. Ben parola korumas\u0131, IP k\u0131s\u0131tlamas\u0131 veya VPN eri\u015fimi olmayan test adresini internete a\u00e7\u0131k canl\u0131 servis gibi ele al\u0131r\u0131m.<\/p>\n<h3>Harici hizmetleri alan ad\u0131na ba\u011flamak<\/h3>\n<p>Dok\u00fcmantasyon sa\u011flay\u0131c\u0131s\u0131, CDN, yard\u0131m masas\u0131 veya durum sayfas\u0131 size bir CNAME hedefi verebilir. Servis sa\u011flay\u0131c\u0131 <code>customer.example-service.net<\/code> hedefini verdiyse, DNS taraf\u0131nda <code>docs.ornek.com<\/code> i\u00e7in \u015fu kayd\u0131 olu\u015fturursunuz:<\/p>\n<pre><code>T\u00fcr: CNAME\nAd: docs\nDe\u011fer: customer.example-service.net\nTTL: 3600<\/code><\/pre>\n<p>CNAME kayd\u0131n\u0131n de\u011ferine IP adresi yaz\u0131lmaz. K\u00f6k alan ad\u0131nda, yani do\u011frudan <code>ornek.com<\/code> i\u00e7in CNAME kullan\u0131m\u0131 da bir\u00e7ok sa\u011flay\u0131c\u0131da desteklenmez veya farkl\u0131 bir mekanizmayla uygulan\u0131r. Subdomain seviyesinde ise bu beklenen kullan\u0131md\u0131r.<\/p>\n<h2 id=\"subdomain-ve-alt-dizin-ayni-sey-degil\">Subdomain ve alt dizin ayn\u0131 \u015fey de\u011fil<\/h2>\n<p><code>ornek.com\/blog<\/code> bir alt dizindir. <code>blog.ornek.com<\/code> ise subdomain&#8217;dir. Taray\u0131c\u0131da benzer g\u00f6r\u00fcnseler de DNS, \u00e7erez, TLS ve uygulama da\u011f\u0131t\u0131m\u0131 a\u00e7\u0131s\u0131ndan farkl\u0131 davran\u0131rlar.<\/p>\n<table>\n<thead>\n<tr>\n<th>Konu<\/th>\n<th>Subdomain<\/th>\n<th>Alt dizin<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u00d6rnek<\/td>\n<td><code>blog.ornek.com<\/code><\/td>\n<td><code>ornek.com\/blog<\/code><\/td>\n<\/tr>\n<tr>\n<td>Sunucu ayr\u0131m\u0131<\/td>\n<td>Farkl\u0131 IP veya hosting&#8217;e y\u00f6nlendirilebilir<\/td>\n<td>Genellikle ayn\u0131 web sunucusunun kural\u0131na ba\u011fl\u0131d\u0131r<\/td>\n<\/tr>\n<tr>\n<td>Uygulama yap\u0131s\u0131<\/td>\n<td>Ayr\u0131 uygulama ve deployment kolayd\u0131r<\/td>\n<td>Ayn\u0131 uygulama i\u00e7inde y\u00f6netmek daha kolayd\u0131r<\/td>\n<\/tr>\n<tr>\n<td>SEO de\u011ferlendirmesi<\/td>\n<td>Ayr\u0131 site b\u00f6l\u00fcm\u00fc gibi ele al\u0131nabilir<\/td>\n<td>Ana domain yap\u0131s\u0131n\u0131n par\u00e7as\u0131d\u0131r<\/td>\n<\/tr>\n<tr>\n<td>\u00c7erez kapsam\u0131<\/td>\n<td>Yanl\u0131\u015f ayarda di\u011fer subdomain&#8217;lere ta\u015fabilir<\/td>\n<td>Ana domain alt\u0131nda daha b\u00fct\u00fcnle\u015fik \u00e7al\u0131\u015f\u0131r<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Se\u00e7imi al\u0131\u015fkanl\u0131kla de\u011fil, mimari ihtiyaca g\u00f6re yap\u0131n. Blog uygulamas\u0131n\u0131 ayr\u0131 bir ekip, ayr\u0131 bir sunucu ve ayr\u0131 bir yay\u0131n d\u00f6ng\u00fcs\u00fc y\u00f6netiyorsa subdomain mant\u0131kl\u0131d\u0131r. Tek bir WordPress kurulumu i\u00e7indeki i\u00e7erik kategorileri i\u00e7in alt dizin \u00e7o\u011fu zaman daha az bak\u0131m ister.<\/p>\n<p>Benim yapt\u0131\u011f\u0131m hatalardan biri, ayr\u0131 bir uygulama i\u00e7in subdomain a\u00e7\u0131nca her \u015feyin otomatik olarak izole olaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnmekti. Uygulama ayn\u0131 veritaban\u0131n\u0131, ayn\u0131 Redis&#8217;i veya geni\u015f kapsaml\u0131 oturum \u00e7erezlerini kullan\u0131yorsa hostname&#8217;i de\u011fi\u015ftirmek tek ba\u015f\u0131na s\u0131n\u0131r olu\u015fturmaz.<\/p>\n<h2 id=\"dns-panelinde-subdomain-olusturma\">DNS panelinde subdomain olu\u015fturma<\/h2>\n<p>\u0130lk ad\u0131m, subdomain&#8217;in hangi hizmete gidece\u011fini belirlemektir. Hedef bir VPS ise A veya AAAA kayd\u0131; ba\u015fka bir hostname ise CNAME; e-posta do\u011frulamas\u0131 ise TXT kayd\u0131 kullan\u0131l\u0131r. Kay\u0131t t\u00fcr\u00fcn\u00fc rastgele se\u00e7meyin.<\/p>\n<h3>VPS i\u00e7in A kayd\u0131<\/h3>\n<p><code>app.ornek.com<\/code> adresini bir VPS&#8217;e ba\u011flamak i\u00e7in \u00f6rnek kay\u0131t \u015f\u00f6yledir:<\/p>\n<pre><code>app.ornek.com. 3600 IN A 203.0.113.20<\/code><\/pre>\n<p>De\u011fi\u015fiklikten sonra sorguyu terminalden kontrol ederim:<\/p>\n<pre><code>dig +short app.ornek.com<\/code><\/pre>\n<p>Bekledi\u011finiz IP adresini g\u00f6r\u00fcyorsan\u0131z kulland\u0131\u011f\u0131n\u0131z DNS sunucusu kayd\u0131 \u00e7\u00f6zm\u00fc\u015f demektir. Bo\u015f \u00e7\u0131kt\u0131; yanl\u0131\u015f kay\u0131t, hen\u00fcz \u00f6nbellekten d\u00fc\u015fmemi\u015f de\u011fi\u015fiklik veya sorgunun farkl\u0131 bir DNS sa\u011flay\u0131c\u0131s\u0131na gitmesi anlam\u0131na gelebilir. Ben DNS derdinde panel ekran\u0131n\u0131 yenilemek yerine \u00f6nce <code>dig +short<\/code> \u00e7al\u0131\u015ft\u0131r\u0131yorum.<\/p>\n<h3>CNAME ile harici hedef<\/h3>\n<p>Bir CNAME i\u00e7in sorgu \u00e7\u0131kt\u0131s\u0131nda hedef hostname&#8217;i g\u00f6rebilirsiniz:<\/p>\n<pre><code>dig +short docs.ornek.com\ncustomer.example-service.net.\n198.51.100.40<\/code><\/pre>\n<p>\u0130kinci sat\u0131r CNAME hedefi, sonraki sat\u0131r ise hedefin A kayd\u0131 olabilir. DNS istemcileri \u00e7o\u011fu zaman zinciri sizin i\u00e7in takip eder. Yaln\u0131zca IP adresini g\u00f6rmek, kayd\u0131n A m\u0131 CNAME mi oldu\u011funu g\u00f6stermez; kay\u0131t tipini ayr\u0131ca sorgulamak isterseniz <code>dig docs.ornek.com CNAME<\/code> kullanabilirsiniz.<\/p>\n<h3>TTL ve yay\u0131lma s\u00fcresi<\/h3>\n<p>TTL, DNS cevab\u0131n\u0131n \u00f6nbellekte ne kadar tutulaca\u011f\u0131n\u0131 belirler. Kay\u0131t de\u011fi\u015fikli\u011finden \u00f6nce TTL&#8217;i d\u00fc\u015f\u00fcrmek ge\u00e7i\u015fi h\u0131zland\u0131rabilir; daha \u00f6nce y\u00fcksek TTL ile al\u0131nm\u0131\u015f cevaplar hemen silinmez. &#8220;DNS yay\u0131lmad\u0131&#8221; c\u00fcmlesi \u00e7o\u011fu zaman farkl\u0131 resolver&#8217;lar\u0131n eski cevab\u0131 \u00f6nbellekten sunmas\u0131 demektir.<\/p>\n<p>DNS de\u011fi\u015fikli\u011finin tamamland\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnmeden eski sunucuyu kapatmay\u0131n. Ta\u015f\u0131malarda bir s\u00fcre iki sistemi de eri\u015filebilir tutuyor, farkl\u0131 resolver&#8217;larla ve do\u011frudan yetkili nameserver&#8217;larla sorgu al\u0131yorum.<\/p>\n<h2 id=\"dns-kaydi-yetmez-web-sunucusunu-yapilandirmak\">DNS kayd\u0131 yetmez: web sunucusunu yap\u0131land\u0131rmak<\/h2>\n<p>Subdomain IP adresine ula\u015ft\u0131\u011f\u0131nda ba\u011flant\u0131 do\u011frudan istedi\u011finiz uygulamaya gitmez. Sunucudaki web server, gelen iste\u011fin <code>Host<\/code> ba\u015fl\u0131\u011f\u0131na veya HTTPS taraf\u0131nda SNI bilgisine bakarak do\u011fru yap\u0131land\u0131rmay\u0131 se\u00e7er.<\/p>\n<p>Nginx \u00fczerinde basit bir HTTP sanal host \u00f6rne\u011fi:<\/p>\n<pre><code>server {\n    listen 80;\n    listen [::]:80;\n    server_name app.ornek.com;\n\n    root \/var\/www\/app\/public;\n    index index.html index.php;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$query_string;\n    }\n}<\/code><\/pre>\n<p><code>server_name<\/code> de\u011feri DNS&#8217;teki hostname ile ayn\u0131 olmal\u0131. Aktif hostname&#8217;i kontrol etmeden Nginx reload etmiyorum; ge\u00e7mi\u015fte staging san\u0131lan production de\u011fi\u015fikli\u011fi bana bunu yeterince \u00f6\u011fretti. Yap\u0131land\u0131rmay\u0131 \u00f6nce test etmek i\u00e7in:<\/p>\n<pre><code>sudo nginx -t\nsudo systemctl reload nginx<\/code><\/pre>\n<p>\u0130lk komut <code>syntax is ok<\/code> ve <code>test is successful<\/code> benzeri bir \u00e7\u0131kt\u0131 vermeden reload \u00e7al\u0131\u015ft\u0131rmay\u0131n. <code>reload<\/code> mevcut ba\u011flant\u0131lar\u0131 m\u00fcmk\u00fcn oldu\u011funca kesmeden yap\u0131land\u0131rmay\u0131 yeniler; yanl\u0131\u015f upstream veya dosya yolu gibi mant\u0131k hatalar\u0131n\u0131 Nginx testi her zaman yakalayamaz.<\/p>\n<p>Apache kullan\u0131yorsan\u0131z benzer g\u00f6rev <code>VirtualHost<\/code> tan\u0131m\u0131yla yap\u0131l\u0131r. DNS&#8217;in do\u011fru olmas\u0131, web sunucusunun do\u011fru siteyi servis edece\u011fini garanti etmez. Varsay\u0131lan site a\u00e7\u0131l\u0131yorsa \u00e7o\u011fu zaman sorun DNS&#8217;te de\u011fil, <code>server_name<\/code> veya sanal host s\u0131ralamas\u0131ndad\u0131r.<\/p>\n<h2 id=\"https-sertifikalar-ve-wildcard-subdomain\">HTTPS, sertifikalar ve wildcard subdomain<\/h2>\n<p>Her subdomain HTTPS sertifikas\u0131nda ayr\u0131ca kapsanmal\u0131d\u0131r. <code>ornek.com<\/code> i\u00e7in al\u0131nm\u0131\u015f bir sertifika otomatik olarak <code>app.ornek.com<\/code> adresini kapsamaz. <code>www.ornek.com<\/code> da sertifikaya ayr\u0131ca eklenmelidir.<\/p>\n<p>Let&#8217;s Encrypt ile tek bir subdomain i\u00e7in sertifika alabilirsiniz:<\/p>\n<pre><code>sudo certbot --nginx -d app.ornek.com<\/code><\/pre>\n<p>Birden fazla isim i\u00e7in:<\/p>\n<pre><code>sudo certbot --nginx -d ornek.com -d www.ornek.com -d app.ornek.com<\/code><\/pre>\n<p>Certbot&#8217;un Nginx yap\u0131land\u0131rmas\u0131n\u0131 de\u011fi\u015ftirmeden \u00f6nce mevcut dosyay\u0131 yedeklemek ve yenileme testini yapmak iyi bir al\u0131\u015fkanl\u0131kt\u0131r:<\/p>\n<pre><code>sudo certbot renew --dry-run<\/code><\/pre>\n<p>SSL kurulumu i\u00e7in <strong><a href=\"https:\/\/www.vps.tc\/blog\/tr\/vps-ssl-sertifikasi-kurulumu-lets-encrypt\/\">VPS&#8217;te SSL Sertifikas\u0131 Kurulumu: Let&#8217;s Encrypt Rehberi<\/a><\/strong> ba\u015fl\u0131kl\u0131 yaz\u0131da DNS do\u011frulamas\u0131, Nginx ve yenileme kontrollerini ayr\u0131 ad\u0131mlarla anlatm\u0131\u015ft\u0131m.<\/p>\n<h3>Wildcard sertifika ne zaman gerekir?<\/h3>\n<p><code>*.ornek.com<\/code> wildcard sertifikas\u0131 tek seviyedeki subdomain&#8217;leri kapsar: <code>app.ornek.com<\/code> ve <code>panel.ornek.com<\/code> gibi. K\u00f6k alan ad\u0131 <code>ornek.com<\/code> wildcard kapsam\u0131na girmez; gerekiyorsa sertifikaya ayr\u0131ca eklenmelidir. <code>dev.api.ornek.com<\/code> da do\u011frudan kapsanmaz, \u00e7\u00fcnk\u00fc wildcard yaln\u0131zca bir etiket seviyesini kar\u015f\u0131lar.<\/p>\n<p>Wildcard sertifikalarda genellikle DNS-01 do\u011frulamas\u0131 kullan\u0131l\u0131r. Bu y\u00f6ntemde DNS&#8217;e ge\u00e7ici bir TXT kayd\u0131 eklenir. DNS API anahtar\u0131n\u0131 sunucuda geni\u015f yetkilerle saklamak istemiyorsan\u0131z sertifikay\u0131 ayr\u0131 bir i\u015flemle \u00fcretip yaln\u0131zca gerekli dosyalar\u0131 da\u011f\u0131tmay\u0131 de\u011ferlendirin.<\/p>\n<h2 id=\"subdomain-kullanirken-guvenlik-ayrintilari\">Subdomain kullan\u0131rken g\u00fcvenlik ayr\u0131nt\u0131lar\u0131<\/h2>\n<p>Alt alan ad\u0131 bir g\u00fcvenlik s\u0131n\u0131r\u0131 de\u011fildir. Yaln\u0131zca isimlendirme ve y\u00f6nlendirme katman\u0131nda ayr\u0131m sa\u011flar. Uygulaman\u0131n eri\u015fim yetkileri, a\u011f kurallar\u0131 ve kimlik do\u011frulamas\u0131 ayr\u0131ca tasarlanmal\u0131d\u0131r.<\/p>\n<ul>\n<li>Y\u00f6netim panelini m\u00fcmk\u00fcnse VPN, allowlist veya ek kimlik do\u011frulama arkas\u0131nda tutun.<\/li>\n<li>Test subdomain&#8217;lerinde ger\u00e7ek m\u00fc\u015fteri verisi kullanmay\u0131n; kullan\u0131yorsan\u0131z maskeleyin.<\/li>\n<li>Her subdomain i\u00e7in yaln\u0131zca ihtiya\u00e7 duyulan portlar\u0131 ve upstream&#8217;leri a\u00e7\u0131n.<\/li>\n<li>DNS&#8217;ten silinen bir servisin eski sunucuda h\u00e2l\u00e2 \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/li>\n<li>Subdomain ele ge\u00e7irilmelerine kar\u015f\u0131 kullan\u0131lmayan DNS kay\u0131tlar\u0131n\u0131 kald\u0131r\u0131n.<\/li>\n<li>Uygulama s\u0131rlar\u0131n\u0131 hostname&#8217;e g\u00f6re de\u011fil, g\u00fcvenli yap\u0131land\u0131rma ve eri\u015fim politikalar\u0131na g\u00f6re y\u00f6netin.<\/li>\n<\/ul>\n<p>\u00d6zellikle unutulmu\u015f CNAME kay\u0131tlar\u0131 dikkat ister. Daha \u00f6nce kulland\u0131\u011f\u0131n\u0131z harici servis hesab\u0131 kapat\u0131lm\u0131\u015f, DNS kayd\u0131 ise b\u0131rak\u0131lm\u0131\u015fsa ba\u015fka biri ayn\u0131 hedefi yeniden kaydederek hostname&#8217;i ele ge\u00e7irebilir. Bu senaryo her sa\u011flay\u0131c\u0131da ayn\u0131 \u015fekilde olu\u015fmaz; kullan\u0131lmayan kay\u0131tlar\u0131 temiz tutmak yine de d\u00fc\u015f\u00fck maliyetli bir \u00f6nlemdir.<\/p>\n<p>\u00c7erez kapsam\u0131 da s\u0131k atlanan bir konu. Uygulama <code>Domain=.ornek.com<\/code> ile \u00e7erez g\u00f6nderirse bu \u00e7erez ana domain alt\u0131ndaki ba\u015fka subdomain&#8217;lere de ta\u015f\u0131nabilir. Panel ve kullan\u0131c\u0131 uygulamas\u0131 farkl\u0131 g\u00fcven seviyelerine sahipse host-only cookie, yani alan ad\u0131 belirtilmeyen daha dar kapsaml\u0131 \u00e7erezler tercih edilebilir.<\/p>\n<p>Sunucu g\u00fcvenli\u011fi i\u00e7in <a href=\"https:\/\/www.vps.tc\/blog\/tr\/linux-sunucu-guvenligi-icin-zorunlu-10-temel-adim\/\">Linux Sunucu G\u00fcvenli\u011fi i\u00e7in Zorunlu 10 Temel Ad\u0131m<\/a> yaz\u0131s\u0131ndaki SSH, firewall ve servis azaltma kontrollerini subdomain mimarisinden ba\u011f\u0131ms\u0131z olarak uygulamak gerekir. DNS&#8217;te farkl\u0131 isim kullanmak, a\u00e7\u0131k SSH portunu veya zay\u0131f parolay\u0131 d\u00fczeltmez.<\/p>\n<h2 id=\"wildcard-dns-ve-coklu-tenant-yapilari\">Wildcard DNS ve \u00e7oklu tenant yap\u0131lar\u0131<\/h2>\n<p>Bazen her m\u00fc\u015fteri veya kullan\u0131c\u0131 i\u00e7in ayr\u0131 bir subdomain gerekir: <code>firma-a.ornek.com<\/code>, <code>firma-b.ornek.com<\/code> gibi. Bu durumda tek tek A kayd\u0131 a\u00e7mak yerine wildcard DNS kullan\u0131labilir:<\/p>\n<pre><code>T\u00fcr: A\nAd: *\nDe\u011fer: 203.0.113.20\nTTL: 300<\/code><\/pre>\n<p>Bu kay\u0131t, \u00f6zel bir DNS kayd\u0131 bulunmayan alt alan adlar\u0131n\u0131 ayn\u0131 IP&#8217;ye y\u00f6nlendirir. Mevcut kay\u0131tlar\u0131n \u00fczerine yazmaz. DNS y\u00f6nlendirmesi de uygulaman\u0131n tenant se\u00e7imini kendi ba\u015f\u0131na yapmaz; Nginx veya uygulama, gelen <code>Host<\/code> de\u011ferinden hangi m\u00fc\u015fterinin g\u00f6sterilece\u011fini belirlemelidir.<\/p>\n<p>Wildcard kullan\u0131rken yanl\u0131\u015f yaz\u0131lm\u0131\u015f hostname&#8217;lerin de uygulamaya ula\u015fmas\u0131 m\u00fcmk\u00fcnd\u00fcr. Uygulama yaln\u0131zca tan\u0131ml\u0131 tenant&#8217;lar\u0131 kabul etmeli, bilinmeyen hostname&#8217;ler i\u00e7in 404 veya g\u00fcvenli bir varsay\u0131lan cevap vermelidir. Aksi durumda tek bir hatal\u0131 yap\u0131land\u0131rma, ba\u015fka bir m\u00fc\u015fterinin i\u00e7eri\u011finin yanl\u0131\u015f alan ad\u0131nda g\u00f6r\u00fcnmesine kadar gidebilir.<\/p>\n<h2 id=\"subdomain-kaynakli-yaygin-hatalar\">Subdomain kaynakl\u0131 yayg\u0131n hatalar<\/h2>\n<h3>DNS \u00e7\u00f6z\u00fcl\u00fcyor ama site a\u00e7\u0131lm\u0131yor<\/h3>\n<p>\u00d6nce <code>dig +short<\/code> ile IP&#8217;yi kontrol edin. IP do\u011fruysa sunucunun 80 ve 443 portlar\u0131n\u0131 dinledi\u011fine, firewall&#8217;un trafi\u011fi engellemedi\u011fine, Nginx <code>server_name<\/code> tan\u0131m\u0131n\u0131n do\u011fru oldu\u011funa ve uygulaman\u0131n ger\u00e7ekten \u00e7al\u0131\u015ft\u0131\u011f\u0131na bak\u0131n.<\/p>\n<pre><code>sudo ss -ltnp | grep -E ':80|:443'\ncurl -I http:\/\/app.ornek.com\ncurl -Ik https:\/\/app.ornek.com<\/code><\/pre>\n<p><code>curl -I<\/code> yaln\u0131zca ba\u015fl\u0131klar\u0131 ister. HTTP durum kodu, y\u00f6nlendirme ve hangi web server&#8217;\u0131n cevap verdi\u011fi hakk\u0131nda h\u0131zl\u0131 fikir verir. Ben 502 g\u00f6rd\u00fc\u011f\u00fcmde DNS paneline d\u00f6nmek yerine \u00f6nce Nginx error log&#8217;u ve upstream soketini kontrol ederim.<\/p>\n<h3>Yanl\u0131\u015f site veya varsay\u0131lan sayfa geliyor<\/h3>\n<p>Bu genellikle DNS&#8217;in yanl\u0131\u015f oldu\u011funu de\u011fil, web sunucusunun istek i\u00e7in e\u015fle\u015fen sanal host bulamad\u0131\u011f\u0131n\u0131 g\u00f6sterir. <code>server_name<\/code> yaz\u0131m\u0131n\u0131, aktif Nginx dosyas\u0131n\u0131n sembolik ba\u011flant\u0131s\u0131n\u0131 ve HTTPS i\u00e7in sertifika bloklar\u0131n\u0131 kontrol edin.<\/p>\n<h3>Sertifika ge\u00e7ersiz g\u00f6r\u00fcn\u00fcyor<\/h3>\n<p>Sertifika subdomain&#8217;i i\u00e7ermiyor olabilir veya taray\u0131c\u0131 eski bir y\u00f6nlendirme ve sertifika zinciri bilgisi tutuyor olabilir. Sunucunun sundu\u011fu sertifikan\u0131n konu ve SAN alanlar\u0131n\u0131 \u015fu komutla g\u00f6rebilirsiniz:<\/p>\n<pre><code>openssl s_client -connect app.ornek.com:443 -servername app.ornek.com &lt; \/dev\/null 2&gt;\/dev\/null | openssl x509 -noout -subject -ext subjectAltName<\/code><\/pre>\n<p><code>-servername<\/code> se\u00e7ene\u011fi burada kritik. Ayn\u0131 IP \u00fczerinde birden fazla HTTPS sitesi varsa SNI ile hangi hostname i\u00e7in sertifika istedi\u011finizi belirtir.<\/p>\n<h3>Subdomain e-posta alm\u0131yor<\/h3>\n<p>Web subdomain&#8217;i ile e-posta alan ad\u0131 ayn\u0131 \u015fey de\u011fildir. <code>mail.ornek.com<\/code> adresini web sunucusuna y\u00f6nlendirmek, <code>kullanici@mail.ornek.com<\/code> i\u00e7in MX yap\u0131land\u0131rmas\u0131 olu\u015fturmaz. E-posta kullanacaksan\u0131z MX, SPF, DKIM ve DMARC kay\u0131tlar\u0131n\u0131 sa\u011flay\u0131c\u0131n\u0131z\u0131n istedi\u011fi bi\u00e7imde ayr\u0131ca tan\u0131mlay\u0131n.<\/p>\n<h2 id=\"tasima-ve-isletim-sirasinda-kontrol-listem\">Ta\u015f\u0131ma ve i\u015fletim s\u0131ras\u0131nda kontrol listem<\/h2>\n<p>Yeni bir subdomain a\u00e7arken \u015fu s\u0131ray\u0131 kullan\u0131yorum:<\/p>\n<ol>\n<li>Hostname&#8217;in amac\u0131n\u0131 ve kimin y\u00f6netece\u011fini yaz\u0131l\u0131 hale getiriyorum.<\/li>\n<li>Hedef IP, CNAME veya harici servisi do\u011fruluyorum.<\/li>\n<li>DNS kayd\u0131n\u0131 olu\u015fturup <code>dig<\/code> ile yetkili cevab\u0131 kontrol ediyorum.<\/li>\n<li>Web sunucusunda yaln\u0131zca bu hostname&#8217;e ait yap\u0131land\u0131rmay\u0131 ekliyorum.<\/li>\n<li>\u00d6nce <code>nginx -t<\/code>, sonra reload \u00e7al\u0131\u015ft\u0131r\u0131yorum.<\/li>\n<li>HTTPS sertifikas\u0131n\u0131 al\u0131p yenileme testini yap\u0131yorum.<\/li>\n<li>Uygulaman\u0131n canonical URL, callback URL, CORS ve \u00e7erez ayarlar\u0131n\u0131 g\u00fcncelliyorum.<\/li>\n<li>Monitoring&#8217;e HTTP durum kodu, TLS s\u00fcresi ve m\u00fcmk\u00fcnse i\u00e7erik kontrol\u00fc ekliyorum.<\/li>\n<\/ol>\n<p>Hostname kontrol\u00fcn\u00fc atlad\u0131\u011f\u0131m bir geceyi h\u00e2l\u00e2 hat\u0131rl\u0131yorum. Eski bir test VPS&#8217;inde temizlik yaparken <code>rm -rf<\/code> komutunu yazm\u0131\u015f, hedef dizini tamamlamak i\u00e7in Tab tu\u015funa basm\u0131\u015ft\u0131m. Shell prompt&#8217;unda production hostname&#8217;i belirince komutu \u00e7al\u0131\u015ft\u0131rmadan durdum. O g\u00fcnden sonra \u00f6zellikle tehlikeli i\u015flemlerden \u00f6nce <code>hostname<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 ve aktif terminal sekmesini kontrol ediyorum. K\u00fc\u00e7\u00fck bir duraklama.<\/p>\n<p>Ta\u015f\u0131ma s\u0131ras\u0131nda eski DNS kayd\u0131n\u0131 hemen silmek yerine k\u0131sa bir ge\u00e7i\u015f penceresi b\u0131rak\u0131n. Uygulama oturumlar\u0131, webhook callback adresleri, OAuth d\u00f6n\u00fc\u015f URL&#8217;leri ve \u00fc\u00e7\u00fcnc\u00fc parti entegrasyonlar yaln\u0131zca ana sayfay\u0131 kullanmayabilir. Bir subdomain&#8217;i de\u011fi\u015ftirmek, g\u00f6r\u00fcnen web sayfas\u0131ndan daha fazla yeri etkileyebilir.<\/p>\n<h2 id=\"seo-acisindan-subdomain-secimi\">SEO a\u00e7\u0131s\u0131ndan subdomain se\u00e7imi<\/h2>\n<p>SEO karar\u0131 yaln\u0131zca &#8220;subdomain mi, alt dizin mi daha iyi?&#8221; sorusuyla verilemez. \u0130\u00e7eri\u011fin ana siteyle ili\u015fkisi, farkl\u0131 ekiplerin yay\u0131n yap\u0131p yapmad\u0131\u011f\u0131, backlink yap\u0131s\u0131 ve teknik bak\u0131m kapasitesi birlikte de\u011ferlendirilmelidir.<\/p>\n<p>Blog, yard\u0131m merkezi veya dil s\u00fcr\u00fcm\u00fc ana markan\u0131n ayr\u0131lmaz par\u00e7as\u0131ysa alt dizin daha b\u00fct\u00fcnl\u00fckl\u00fc bir yap\u0131 sa\u011flayabilir. Farkl\u0131 bir \u00fcr\u00fcn, ayr\u0131 bir platform veya ba\u011f\u0131ms\u0131z bir topluluk y\u00f6netiyorsan\u0131z subdomain daha temiz bir ayr\u0131m sunar.<\/p>\n<p>Hangi yap\u0131y\u0131 se\u00e7erseniz se\u00e7in canonical etiketleri, sitemap dosyalar\u0131, robots.txt, HTTPS ve i\u00e7 ba\u011flant\u0131lar tutarl\u0131 olmal\u0131d\u0131r. Subdomain&#8217;leri yaln\u0131zca anahtar kelime yerle\u015ftirmek i\u00e7in \u00e7o\u011faltmak bak\u0131m y\u00fck\u00fcn\u00fc art\u0131r\u0131r ve arama motoru a\u00e7\u0131s\u0131ndan otomatik bir avantaj sa\u011flamaz.<\/p>\n<p>Analytics ve Search Console yap\u0131land\u0131rmas\u0131n\u0131 da kontrol edin. Trafik \u00f6l\u00e7\u00fcm\u00fcn\u00fc tek m\u00fclk alt\u0131nda m\u0131, ayr\u0131 m\u00fclklerde mi takip edece\u011finiz; \u00e7erez kapsam\u0131na ve raporlama ihtiyac\u0131n\u0131za g\u00f6re de\u011fi\u015fir.<\/p>\n<h2 id=\"bir-subdomain-acmadan-once-kendinize-sorun\">Bir subdomain a\u00e7madan \u00f6nce kendinize sorun<\/h2>\n<p>Bu isim ger\u00e7ekten ayr\u0131 bir uygulama veya g\u00fcvenlik politikas\u0131 gerektiriyor mu? Ayn\u0131 sunucuda yaln\u0131zca farkl\u0131 bir klas\u00f6re gidecekse alt dizin daha sade olabilir. Ayr\u0131 bir ekip, deployment s\u00fcreci, farkl\u0131 bir IP veya ba\u011f\u0131ms\u0131z bir eri\u015fim politikas\u0131 varsa subdomain anlaml\u0131 hale gelir.<\/p>\n<p>Ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc de d\u00fc\u015f\u00fcn\u00fcn. Test i\u00e7in a\u00e7\u0131lan <code>old-staging.ornek.com<\/code> aylarca unutulursa sertifika yenilemeleri, DNS kay\u0131tlar\u0131 ve sald\u0131r\u0131 y\u00fczeyi gereksiz yere b\u00fcy\u00fcr. Ge\u00e7ici kay\u0131tlar\u0131n yan\u0131na art\u0131k silme tarihi koyuyorum; takvimde k\u00fc\u00e7\u00fck bir not, aylar sonra yap\u0131lacak DNS aramas\u0131ndan daha ucuz.<\/p>\n<p>\u0130simlendirmeyi ba\u015ftan standartla\u015ft\u0131r\u0131n. <code>api<\/code>, <code>panel<\/code>, <code>status<\/code>, <code>staging<\/code> gibi isimler herkesin anlayaca\u011f\u0131 kadar a\u00e7\u0131k. Sunucu say\u0131s\u0131 artt\u0131\u011f\u0131nda <code>app1-new-final<\/code> benzeri isimler k\u0131sa vadede i\u015fe yarasa da birka\u00e7 ay sonra kimin ne oldu\u011funu anlatmaz.<\/p>\n<p>Bir subdomain&#8217;in arkas\u0131nda VPS \u00e7al\u0131\u015ft\u0131racaksan\u0131z kaynak planlamas\u0131n\u0131 hostname&#8217;den ba\u011f\u0131ms\u0131z yap\u0131n. CPU, RAM, disk ve yedekleme ihtiyac\u0131n\u0131 de\u011ferlendirmek i\u00e7in <a href=\"https:\/\/www.vps.tc\/blog\/tr\/vps-nedir-ne-ise-yarar-baslangic-seviyesi-detayli-rehber\/\">VPS Nedir, Ne \u0130\u015fe Yarar? Ba\u015flang\u0131\u00e7 Seviyesi Detayl\u0131 Rehber<\/a> yaz\u0131s\u0131ndaki temel ayr\u0131mlara bakabilirsiniz. DNS kayd\u0131 k\u00fc\u00e7\u00fck bir sat\u0131rd\u0131r; arkas\u0131ndaki uygulama bazen b\u00fct\u00fcn bir sunucu operasyonudur.<\/p>\n<h2 id=\"sik-sorulan-sorular\">S\u0131k Sorulan Sorular<\/h2>\n<h3>Subdomain olu\u015fturmak i\u00e7in ayr\u0131 bir domain sat\u0131n almak gerekir mi?<\/h3>\n<p>Hay\u0131r. Ana alan ad\u0131n\u0131z \u00fczerinde DNS y\u00f6netimi yapabiliyorsan\u0131z istedi\u011finiz subdomain kay\u0131tlar\u0131n\u0131 olu\u015fturabilirsiniz. Subdomain&#8217;in ba\u011flanaca\u011f\u0131 hosting, VPS veya harici hizmetin ayr\u0131ca yap\u0131land\u0131r\u0131lmas\u0131 gerekir.<\/p>\n<h3>Subdomain i\u00e7in ayr\u0131 SSL sertifikas\u0131 gerekir mi?<\/h3>\n<p>Subdomain, kullan\u0131lan sertifikan\u0131n kapsam\u0131na dahil de\u011filse ayr\u0131 bir sertifika veya yeni bir \u00e7oklu alan ad\u0131 sertifikas\u0131 gerekir. <code>*.ornek.com<\/code> wildcard sertifikas\u0131 tek seviyedeki subdomain&#8217;leri kapsar; k\u00f6k domain i\u00e7in ayr\u0131ca kapsam tan\u0131mlanmal\u0131d\u0131r.<\/p>\n<h3>Subdomain mi, alt dizin mi kullanmal\u0131y\u0131m?<\/h3>\n<p>Farkl\u0131 sunucu, uygulama, ekip veya eri\u015fim politikas\u0131 gerekiyorsa subdomain; ana sitenin par\u00e7as\u0131 olan i\u00e7erikler i\u00e7in alt dizin genellikle daha sade bir se\u00e7imdir. SEO, \u00e7erez ve bak\u0131m ihtiya\u00e7lar\u0131n\u0131 birlikte de\u011ferlendirin.<\/p>\n<h3>DNS kayd\u0131n\u0131 ekledim ama subdomain neden a\u00e7\u0131lm\u0131yor?<\/h3>\n<p><code>dig +short sub.ornek.com<\/code> ile kayd\u0131n do\u011fru IP&#8217;yi d\u00f6nd\u00fcrd\u00fc\u011f\u00fcn\u00fc kontrol edin. IP do\u011fruysa web sunucusundaki <code>server_name<\/code>, firewall, portlar, uygulama loglar\u0131 ve HTTPS sertifikas\u0131 s\u0131rayla incelenmelidir.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Subdomain nedir, nas\u0131l \u00e7al\u0131\u015f\u0131r ve hangi durumlarda kullan\u0131lmal\u0131d\u0131r? DNS kay\u0131tlar\u0131ndan Nginx yap\u0131land\u0131rmas\u0131na, SSL ve g\u00fcvenlik ayr\u0131nt\u0131lar\u0131na kadar alt alan adlar\u0131n\u0131 anlat\u0131yorum.<\/p>\n","protected":false},"author":2,"featured_media":456,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[111],"tags":[],"class_list":["post-458","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-domain"],"lang":"tr","translations":{"tr":458,"en":459},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/comments?post=458"}],"version-history":[{"count":1,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/458\/revisions"}],"predecessor-version":[{"id":460,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/posts\/458\/revisions\/460"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/media\/456"}],"wp:attachment":[{"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/media?parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/categories?post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vps.tc\/blog\/wp-json\/wp\/v2\/tags?post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}