Blog
Kendi alan adınızı bir etiketleme sunucusuna yönlendirmek: CNAME, sertifika ve Cloudflare 1014 hatası
Yayınlandı · Güncellendi · 4 dk okuma
Bizden aldığınız ilk ana makine adı, signalhost.io altında rastgele bir addır. Çalışır ve birçok site için yeterlidir; zaten googletagmanager.com değildir. Ama filtre listelerine ve üçüncü taraf çerez kurallarına takılmayan sürüm, kendi alan adınızın bir alt alan adıdır, çünkü tarayıcı için bu düpedüz sizin sitenizdir. Oraya ulaşmak tek bir DNS kaydı ve birkaç dakika sürer. Küçük bir yanlış ise sizin tarafınızda hiçbir şeyin açıklayamadığı bir hata mesajına yol açar. Bu yüzden, hata durumu dahil tüm adımları burada bulabilirsiniz.
Neden kendi sitenizin bir alt alan adı
İki neden var ve birbirlerinden farklılar. Bir reklam engelleyici için bir istek, ana makine adı bir listedeyse üçüncü taraftır; signalhost.io bugün hiçbir listede değil ama yarın olabilir, yoursite.com ise asla olmayacak. Bir tarayıcı içinse metrics.yoursite.com'dan gelen bir yanıtın ayarladığı çerez, yoursite.com için birinci taraf çerezidir; başka bir alan adından gelen ise üçüncü taraftır ve Safari onu doğrudan reddeder. Bir reklam tıklamasını Google Ads, Meta ve TikTok için satın almaya kadar saklayan çerez işte budur. Daha uzun bir ömür sağlamaz: Safari, farklı bir adresteki sunucudan gelen çerezleri yine de yedi günle sınırlar. Etiketleme sunucusu her iki durumda da aynıdır. Ona nasıl davranılacağını değiştiren, ana makine adıdır.
Bir etiketleme sunucusunu sıfırdan mı kuruyorsunuz? Sunucu tarafı Google Tag Manager adım adım nasıl kurulur.
Kayıt
DNS sağlayıcınızda, seçtiğiniz alt alan adını proxy'siz (DNS-only) uç noktamıza yönlendiren tek bir CNAME:
metrics.yoursite.com. CNAME tenants.signalhost.io.Size atanan rastgele signalhost.io ana makine adına değil, joker karakterli (wildcard) bir ada da değil. tenants.signalhost.io, tam olarak bu iş için yayımladığımız bir addır; neden bu ad olması gerektiğini bir sonraki bölüm anlatıyor.
Kendi alan adınız Cloudflare'deyse kaydı proxy KAPALI olarak oluşturun: gri bulut, "DNS only". Proxy'li bir kayıt, ziyaretçilerinizin isteklerini sizin Cloudflare hesabınız üzerinden bize yönlendirir ve aşağıdaki sertifika adımı bu yoldan tamamlanamaz.
Cloudflare 1014 hatası ve hedefin neden DNS-only olması gerektiği
Kendi ana makine adlarımız Cloudflare'in arkasındadır. Bir müşteri CNAME kaydını proxy'li adlarımızdan birine (joker karakterli ada ya da signalhost.io altındaki bir müşteri adresine) yönlendirirse, trafiği Cloudflare'e bizimkinden farklı bir Cloudflare hesabına ait bir ana makine adı için ulaşır. Cloudflare bunu 1014 hatasıyla, "CNAME Cross-User Banned" mesajıyla reddeder. Bu hatayı gösteren sayfa Cloudflare'indir, ne bizden ne sizden söz eder; DNS'inizdeki, sitenizdeki ya da tarayıcınızdaki hiçbir şey de bunu açıklamaz.
tenants.signalhost.io bilerek proxy'siz bırakılmıştır: doğrudan sunucularımıza çözümlenir, bu yüzden ona yönelen bir CNAME sorunsuz çalışır. Kontrol panelinin DNS kontrolü, proxy'li hedef durumunu adıyla tanır ve neyi değiştirmeniz gerektiğini söyler; ama bu hatayı hiç yapmamak daha hızlıdır.
Sertifika
Kayıt çözümlendiğinde ana makine adınız için bir Let's Encrypt sertifikası talep ederiz. Doğrulama HTTP-01 ile yapılır: Let's Encrypt, bu ad üzerinden 80 numaralı bağlantı noktasında düz HTTP ile belirli bir yolu ister ve biz yanıtlarız. Düz HTTP, çünkü henüz sertifika yoktur (alınmaya çalışılan şey zaten odur) ve bu, uç sunucumuzun (edge) yanıtladığı tek şifrelenmemiş yoldur. Yaptığı tek şey bir nonce karşılaştırmasıdır; bu yoldan başka hiçbir şeye erişilemez.
Birkaç dakika sürmesini bekleyin. Kontrol paneli üç adımı sırayla gösterir: CNAME çözümlenir, sertifika düzenlenir, ana makine adı hizmet vermeye başlar. CNAME yeşilken sertifikada takılı kalan bir adım, neredeyse her zaman sizin tarafınızda proxy'li bir kayıt olduğu anlamına gelir: Cloudflare doğrulama isteğini kendi sertifikası ve kendi sayfasıyla yanıtlar ve Let's Encrypt yanlış şeyi görür.
Hizmet vermeye başladıktan sonra
Web konteynerinizdeki Google etiketi, sunucu konteyneri URL'sini taşır. Ana makine adı hizmet vermeye başladığında bu URL'yi özel alan adınızla değiştirir ve konteyneri yeniden yayınlarız; alan adını kaldırırsanız da signalhost.io adresinize geri çeviririz. O andan itibaren isabetleriniz kendi alan adınıza gider.
Size kalan tek bir iş var: sitenizdeki kod parçacığı, Tag Manager'ı hâlâ signalhost.io adresinizden yükler. Çalışmaya devam eder, ama bir filtre listesinin hâlâ yakalayabileceği tek istek odur; bu yüzden onu değiştirin. Alan adı hizmet vermeye başlar başlamaz konteyner sayfası yeni kod parçacığını gösterir ve aynı anda size e-postayla da göndeririz. İkinci bir kod parçacığı eklemek yerine mevcut olanı değiştirin: iki kod parçacığı konteyneri iki kez yükler.
Bir alan adını kaldırmak aynı işlemin tersidir. Kontrol panelinden kaldırın, konteyner sayfasının ardından gösterdiği kod parçacığını sitenize geri koyun (yeniden signalhost.io adresinizden yükler) ve DNS kaydını en son silin. Önce kaydı silerseniz, kontrol paneli bunu fark edene kadar siteniz etiketlerini artık çözümlenmeyen bir addan yüklemeye çalışır.
Çalışmıyorsa
- Tarayıcıda 1014 hatası: CNAME, proxy'li adlarımızdan birine işaret ediyor. Hedefi tenants.signalhost.io olarak değiştirin.
- CNAME yeşil, sertifika on beş dakikadan uzun süredir beklemede: kaydınız proxy'li. DNS sağlayıcınızda bulutu griye çevirin.
- CNAME hiç yeşile dönmüyor: aynı ad üzerinde çakışan bir A veya AAAA kaydı olup olmadığını kontrol edin (bir CNAME bunlarla bir arada bulunamaz) ve yayılmanın tamamlanması için bir saate kadar bekleyin.
- Hizmet veriyor, ama konteyner sayfası yeni addan trafik göstermiyor: web konteyneri henüz yeniden yayınlanmamış. Bu, ana makine adı yayına girdikten sonraki birkaç dakika içinde gerçekleşir; konteyner sayfası etiketin şu anda hangi ana makine adına işaret ettiğini gösterir.
- Hizmet veriyor, ama siteniz Tag Manager'ı hâlâ signalhost.io'dan yüklüyor: eski kod parçacığı hâlâ sayfada. Onu konteyner sayfasındakiyle değiştirin.

