Wildcard alan adıyla (*.example.com) Virtual Hosting yapabilir miyim?
Kısa cevap
Evet. vService'in Virtual Hosting listesine *.example.com yazılır. Bu desen shop.example.com gibi bir alt alanla ve a.b.example.com gibi birden fazla seviyeli alt alanlarla eşleşir; example.com'un kendisiyle eşleşmez, o ayrı bir satır olarak eklenir. HTTPS'te *.example.com için wildcard sertifika gerekir. Aynı alan adıyla eşleşen iki vService varsa TR7 tam eşleşmeye öncelik vermez; önce oluşturulan vService isteği alır. Wildcard sertifika başka vService'lerin alan adlarını da kapsıyorsa TLS Security Profile'da SNI/Host Validation açılır.
Sorun: Çok Sayıda Alt Alan Tek Tek Nasıl Yazılmaz?
Müşteri başına alt alan (musteri1.example.com, musteri2.example.com…) kullanan uygulamalarda her yeni müşteri için vService listesine alan adı eklemek sürdürülemez. Tek bir desenle bütün alt alanların aynı vService'e gelmesi istenir. Wildcard'ın hangi adlarla eşleştiği ve başka vService'lerdeki alan adlarıyla nasıl etkileştiği bilinmelidir.
Çözüm
Virtual Hosting listesinde wildcard desen
- Nasıl çalışır Listedeki
*.ile başlayan desen, o alan adının altındaki her ada (bir ya da daha fazla seviye) uyar. - Nerede açılır vService → Virtual Hosting → alan adı satırı
- Gereksinim HTTPS için wildcard sertifika; deseni başka vService'lerdeki alan adlarıyla çakıştırmamak
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Load Balancer vService List adımları izlenir ve HTTP vService açılır.
Virtual Hosting anahtarı açılır ve listeye *.example.com yazılır. Joker yalnızca en baştaki *. biçiminde kabul edilir; ortasında * bulunan girişler (ör. a.*.example.com) geçersiz sayılır.
example.com'un kendisi de bu vService'e gelecekse listeye ayrı bir satır olarak example.com eklenir.
HTTPS'te Certificate alanından *.example.com sertifikası (ve example.com'u kapsamıyorsa onu kapsayan ikinci bir sertifika) seçilir. Sertifika TR7'de yoksa önce Certificates & PKI → SSL/TLS Certificates → Add ile yüklenir.
Save butonuna tıklanır.
Doğrulama
curl -v --resolve musteri1.example.com:443:203.0.113.10 https://musteri1.example.com/Wildcard sertifika ve vService'in yanıtıexample.com ile denenir; ayrı satır eklenmediyse bağlantı kapanır.Sık Yapılan Hatalar
- Tam eşleşmenin öncelikli olduğunu sanmak. Bir vService'te
*.example.com, diğerindeapi.example.comvarsaapi.example.comisteği önce oluşturulan vService'e gider. Çakışmayı önlemek içinapi.example.comayrı bir vService'te yayınlanacaksa wildcard yerine diğer alt alanlar tek tek yazılır ya da wildcard'lı vService'in içinde Conditional Backend Services (Content Switching) kullanılır. - Wildcard sertifikanın her seviyeyi kapsadığını sanmak.
*.example.comsertifikası yalnızca tek seviyeyi (a.example.com) kapsar;a.b.example.comVirtual Hosting'de eşleşir ama tarayıcı sertifika uyarısı verir. - Ana alan adını eklemeyi unutmak.
*.example.comdeseniexample.comile eşleşmez. - Wildcard sertifikayla aynı bağlantıda başka siteye geçiş. Wildcard sertifika başka bir vService'in alan adını da kapsıyorsa tarayıcı HTTP/2 bağlantısını yeniden kullanıp isteği yanlış vService'e gönderebilir; bunu önlemek için TLS Security Profile'da SNI/Host Validation açılır.
Dokümantasyonda nasıl yapılır
