Makineye domain bağlama
Kayıt firmasındaki bir A kaydından çalışan bir HTTPS sitesine kadar tam yol: hangi kayıtları oluşturmalısın, nginx'i nasıl yapılandırırsın ve sertifikayı nasıl alırsın.
23 Ağustos 2026 tarihinde güncellendi
Bir alan adı tek başına hiçbir şey açmaz. İki parçaya ihtiyacın var: adı makinenin adresine yönlendiren bir DNS kaydı ve o adla ne yapacağını bilen, makinede çalışan bir web sunucusu.
Adım 1. DNS kayıtları
Adresi /hosting/vds/m/<id> panelinin "Genel Bakış" bölümünden al. Kayıt firmanın panelinde ya da DNS panelinde şunları oluştur:
example.com. A <machine address>
www.example.com. CNAME example.com.
Birkaç dakika sonra kontrol et:
dig example.com A +short
dig www.example.com A +short
Her iki komut da makinenin adresini döndürmeli. Eski bir değer döndürüyorlarsa — bu bir önbellektir, TTL'nin dolmasını bekle. Kayıt türleri hakkında daha fazlası — Sihirsiz DNS.
Adım 2. Web sunucusu
apt install -y nginx
/etc/nginx/sites-available/example.com dosyasını oluştur:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
}
Etkinleştir ve yeniden başlat:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
mkdir -p /var/www/example.com
echo ok > /var/www/example.com/index.html
nginx -t
systemctl reload nginx
80 ve 443 portları güvenlik duvarında açık olmalı — bkz. ufw ve portlar.
Adım 3. HTTPS
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
systemctl status certbot.timer
Certbot listen 443 ssl bloğunu kendisi ekler ve yönlendirmeyi yapılandırır. Yenileme bir zamanlayıcıyla çalışır ve müdahale gerektirmez. Yenilemeyi önceden test edebilirsin:
certbot renew --dry-run
Sertifika alma yalnızca alan adı zaten makineyi gösteriyorsa çalışır: Let's Encrypt bunu 80 portuna bağlanarak doğrular.
Tek makinede birden fazla alan adı
Sınır yok: her ad için ayrı bir yapılandırma dosyası oluştur. Nginx doğru olanı server_name ile seçer. Çıplak adrese gelen isteklerin rastgele eşleşen ilk siteye düşmemesi için bir tutucu blok eklemek işe yarar:
server {
listen 80 default_server;
server_name _;
return 444;
}
Sık yapılan hatalar
| Belirti | Neden | Çözüm |
|---|---|---|
| Başkasının sitesi ya da yanlış site açılıyor | default_server yok, ad eşleşmedi | server_name kontrol et, bir tutucu ekle |
Certbot: Timeout during connect | 80 portu güvenlik duvarı tarafından kapatılmış ya da alan adı başka yeri gösteriyor | 80'i aç, dig kontrol et |
www çalışmıyor | CNAME yok ya da ad sertifikada belirtilmemiş | Kaydı ve -d www.example.com ekle |
| Tarayıcı eski siteyi gösteriyor | Tarayıcı önbelleği ve HSTS | curl -I https://example.com ile kontrol et |
digsenin adresini gösterene kadar sertifika alma. Başarısız denemeler Let's Encrypt limitlerini tüketir ve sonraki deneme birkaç saat boyunca bir limite takılabilir.