Bir alan adı aldınız, bir VPS'iniz var ve tarayıcı hâlâ "bu siteye ulaşılamıyor" diyor. Eksik parça neredeyse her zaman iki DNS kaydı ve doğru adreste gerçekten yanıt veren bir web sunucusudur. Kayıt kuruluşundan çalışan bir HTTPS kilidine kadar tüm yol burada.
Başlamadan önce: planınız web trafiğini kabul ediyor mu?
Ziyaretçiler sunucunuzun 80 ve 443 portlarına bağlanır. Bunun için kendi genel IP'si olan bir plan gerekir. NAT planları yalnızca kişisel SSH portunuzu yönlendirir, bu yüzden bir alan adında site barındıramazlar — özel IP ve NAT yazımız farkı açıklıyor. Küçük bir site Nano-IP üzerinde rahatça çalışır.
1. Sunucunuzun adreslerini bulun
IPv4 ve IPv6 adresleriniz paneldeki sunucu sayfasında. Örneklerde dokümantasyon adreslerini kullanıyoruz:
- IPv4:
203.0.113.10 - IPv6:
2001:db8::10
2. DNS kayıtlarını oluşturun
Alan adınızın DNS'inin bulunduğu yere (genellikle kayıt kuruluşu) giriş yapın ve şunları ekleyin:
| Tür | Ad | Değer | TTL |
|---|---|---|---|
| A | @ | 203.0.113.10 | 300 |
| AAAA | @ | 2001:db8::10 | 300 |
| CNAME | www | example.com. | 300 |
@ ana alan adı anlamına gelir. 300 saniye gibi kısa bir TTL, hataları düzeltmeyi ucuzlatır; her şey çalışınca 3600'e yükseltebilirsiniz.
Henüz IPv6 istemiyorsanız AAAA kaydını şimdilik atlayın — 5. adımdaki uyarıya bakın.
3. DNS'in yanıt verdiğini kontrol edin
Kayıt kuruluşunun "kaydedildi" mesajına güvenmeyin. DNS'e doğrudan sorun:
dig +short example.com A
dig +short example.com AAAA
dig +short www.example.com
dig +short example.com A @1.1.1.1
Son satır genel bir çözümleyiciye sorar; bu, ziyaretçilerinizin gördüğüne daha yakındır. IP'niz geri geliyorsa DNS tamamdır.
4. Sunucunun yanıt vermesini sağlayın
nginx'i kurun ve portları açın:
apt update && apt install -y nginx
ufw allow 80/tcp
ufw allow 443/tcp
http://example.com adresini açın — nginx karşılama sayfasını görmelisiniz. Şimdi ücretsiz bir sertifikayla HTTPS ekleyin:
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot nginx yapılandırmasını düzenler, HTTPS yönlendirmesini kurar ve sertifikayı otomatik olarak yeniler. nginx arkasındaki gerçek bir uygulama için HTTPS'li reverse proxy rehberimizi izleyin.
5. IPv6 tuzağı
Bu pek çok kişiyi yakalar. Bir AAAA kaydı eklersiniz ama nginx yalnızca IPv4'te dinler. IPv6'daki ziyaretçiler (birçok mobil ağ) önce IPv6 adresini dener ve başarısız olur. Server bloğunuzda ikisinin de olduğundan emin olun:
listen 80;
listen [::]:80;
Ubuntu'daki varsayılan nginx yapılandırması [::]'yi zaten içerir, ama özel yapılandırmalar sıklıkla bunu atlar. IPv6'lı bir makineden test edin:
curl -6 -I https://example.com
Sık karşılaşılan sorunlar
- Eski IP hâlâ görünüyor: yerel çözümleyiciniz onu önbelleğe almış. TTL'in dolmasını bekleyin veya yukarıdaki gibi
@1.1.1.1'e sorun. - Certbot zaman aşımıyla başarısız oluyor: 80 portu engelli ya da DNS henüz buraya işaret etmiyor.
ufw statusvedig'i yeniden kontrol edin. - www'suz çalışıyor, www'lu çalışmıyor: sertifika veya server bloğu
www'yu içermiyor. Certbot'u iki adla yeniden çalıştırın.
Ters DNS hakkında
A ve AAAA kayıtları addan IP'ye gider. Ters DNS (PTR) ters yönde çalışır ve kayıt kuruluşunda değil, panelde ayarlanır. Yalnızca posta için ya da bir servis onu kontrol ettiğinde gerekir — PTR rehberimiz bunu anlatıyor.
İlk kez bir site yayına alıyorsanız web sitesi kullanım senaryosu sayfası boyutlandırmada yardımcı olur, ağ belgeleri de her planın hangi adresleri aldığını listeler.
Yorumlar
Henüz yorum yok. İlk olun.