# Web sitenizin önüne Cloudflare koyun

> Sitenizi Cloudflare üzerinden yayınlayın: ad sunucularını değiştirin, proxy kayıtlarını seçin, Full (strict) SSL kullanın, ziyaretçi IP'lerini geri getirin.

Zorluk: Orta\
Denendiği sistemler: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12, Debian 13

Cloudflare'in ters proxy'si ziyaretçileriniz ile sunucunuz arasında durur: önbelleğe alınmış dosyaları ziyaretçiye yakın konumlardan sunar, kötü niyetli trafiği filtreler ve sunucunuzun gerçek adresini gizler. Bu rehber, HyperDC sunucusundaki bir siteyi HTTPS'i, kayıtları veya erişim denetimini bozmadan Cloudflare'in arkasına alır. `example.com` ve `203.0.113.10` yerine kendi değerlerinizi yazın.

## Başlamadan önce

- Bir Cloudflare hesabı ve sunucuda, tercihen zaten HTTPS ile çalışan siteniz.
- Alan adının ad sunucusu ayarına erişim: HyperDC alan adı için **Alan Adı › Alan Adlarım › Alan Adı Yönetimi › İsim Sunucuları**.
- Taşıma sırasında hiçbir şey kaybolmasın diye mevcut DNS kayıtlarınızın listesi (web sitesi, posta, doğrulamalar).

## 1. adım: Siteyi Cloudflare'e ekleyin

Cloudflare panelinde `example.com` alan adını ekleyin. Cloudflare mevcut kayıtlarınızı tarar; bunları listenizle karşılaştırın ve eksikleri, özellikle MX, SPF, DKIM ve DMARC kayıtlarını ekleyin.

## 2. adım: Neyin proxy'leneceğini seçin

| Kayıt | Proxy durumu |
|---|---|
| A `@` ve A veya CNAME `www` (web sitesi) | Proxied |
| MX ve posta sunucusunun A kaydı (`mail`) | DNS only |
| SSH, FTP, oyun sunucuları, VPN kayıtları | DNS only |
| TXT (SPF, DKIM, DMARC, doğrulamalar) | Proxy'lenmez (TXT kayıtları asla proxy'lenmez) |

Posta, web sitesiyle aynı IP adresinden gönderiliyorsa MX kaydı sunucunun adresini ele verir. Mümkünse postayı başka bir sunucudan veya IP'den gönderin.

## 3. adım: Ad sunucularını değiştirin

Cloudflare bölgeniz için iki ad sunucusu gösterir. Bunları kayıt firmanızda girin; HyperDC alan adı için **Yeni NameServer Ekle**'yi seçin, ikisini girin ve **Nameserverları Değiştir**'i seçin. Eski DNS sağlayıcısında DNSSEC açıksa önce eski DS kaydını kaldırın.

**Doğrulama:** `dig NS example.com +short` Cloudflare ad sunucularını döndürür ve Cloudflare paneli bölgeyi etkin olarak gösterir.

## 4. adım: SSL/TLS'i Full (strict) yapın

**SSL/TLS › Overview** altında **Full (strict)** seçin. Bunun için sunucunuzda geçerli bir sertifika gerekir:

- **Herkese açık bir sertifika** (örneğin Let's Encrypt) çalışmaya devam eder ve site Cloudflare olmadan da çalışır.
- **Cloudflare Origin CA sertifikası** (**SSL/TLS › Origin Server** altında) yalnızca Cloudflare tarafından güvenilir sayılır ve uzun yıllar geçerli olabilir. Her sertifika gibi kurun; bkz. [SSL sertifikası kurun](/guides/install-ssl-certificate).

**Flexible** modundan kaçının: Cloudflare'den sunucunuza giden trafiği şifresiz gönderir ve sunucunuz HTTP'yi HTTPS'e yönlendiriyorsa ziyaretçiler bir yönlendirme döngüsüne girer.

## 5. adım: Ziyaretçinin IP adresini geri getirin

Proxy arkasında her istek bir Cloudflare adresinden gelir. Web sunucunuza, yalnızca Cloudflare aralıklarına (Cloudflare'in IP aralıkları sayfasında listelenir) güvenerek gerçek adresi `CF-Connecting-IP` başlığından almasını söyleyin.

**nginx**

Her Cloudflare aralığı için bir `set_real_ip_from` satırıyla `/etc/nginx/conf.d/cloudflare-realip.conf` dosyasını oluşturun:

```nginx
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
real_ip_header CF-Connecting-IP;
```

IPv6 aralıkları dahil listedeki her aralığı ekleyin, ardından `sudo nginx -t` ve `sudo systemctl reload nginx` çalıştırın.
**Apache**

Modülü etkinleştirin ve güvenilen aralıkları ekleyin:

```bash
sudo a2enmod remoteip
```

```apache
RemoteIPHeader CF-Connecting-IP
RemoteIPTrustedProxy 173.245.48.0/20
RemoteIPTrustedProxy 103.21.244.0/22
```

Listedeki her aralığı ekleyin, `LogFormat` içinde `%h` yerine `%a` kullanın, ardından `sudo apachectl configtest` ve `sudo systemctl reload apache2` çalıştırın.

**Doğrulama:** siteyi ziyaret ettikten sonra erişim kaydındaki en yeni satır bir Cloudflare adresi değil, kendi IP adresinizi gösterir. Cloudflare aralıklarını ara sıra değiştirir; zaman zaman gözden geçirin.

## 6. adım: Web trafiğine yalnızca Cloudflare'den izin verin

Saldırganlar sunucunuzun IP adresini bulursa proxy'yi atlayabilir. UFW ile 80 ve 443 portlarına yalnızca Cloudflare aralıklarından izin verin ve genel kuralı kaldırın:

```bash
for ip in $(curl -s https://www.cloudflare.com/ips-v4) $(curl -s https://www.cloudflare.com/ips-v6); do sudo ufw allow proto tcp from "$ip" to any port 80,443; done
sudo ufw delete allow 80,443/tcp
sudo ufw status numbered
```

SSH'ye eskisi gibi izin vermeye devam edin. Cloudflare yeni aralıklar yayınladığında döngüyü yeniden çalıştırın.

## Önbelleğin temelleri

Cloudflare statik dosyaları (görseller, CSS, JavaScript) varsayılan olarak önbelleğe alır ve `Cache-Control` başlıklarınıza uyar. Bir önbellek kuralı eklemedikçe HTML sayfaları önbelleğe alınmaz. Bir yayından sonra ziyaretçiler eski dosyaları görüyorsa **Caching › Configuration › Purge Cache** kullanın.

## Sorun giderme

**521 hatası (web sunucusu kapalı).** Sunucunuz Cloudflare'in bağlantısını reddetti: web sunucusu durmuş ya da güvenlik duvarı Cloudflare aralıklarına izin vermiyor.

**522 veya 524 hatası (zaman aşımı).** Sunucu zamanında yanıt vermedi; yükünü ve kayıtlarını kontrol edin. Bkz. [web sitesi 502, 503 ve 504 hataları](/guides/website-502-503-504).

**525 veya 526 hatası (SSL).** Sunucuyla el sıkışma başarısız oldu ya da mod Full (strict) iken sertifikası geçersiz. Geçerli bir sertifika veya Origin CA sertifikası kurun.

**Çok fazla yönlendirme.** Sunucu HTTPS'e yönlendirirken SSL modu Flexible. Full (strict) moduna geçin.

**Posta çalışmayı durdurdu.** MX hedefi proxy'leniyor. Posta kaydını DNS only yapın.

## Sonraki adımlar

- Sellere karşı koruma: [DDoS korumasının temelleri](/guides/ddos-protection-basics).
- Kaynak sunucudaki sertifikalar: [SSL sertifikası kurun](/guides/install-ssl-certificate).

## Sık sorulan sorular

### Hangi kayıtlar proxy'lenmeli?

Kök ve www gibi web kayıtları proxy'lenebilir (turuncu bulut). Posta, SSH, FTP ve HTTP dışı diğer servisler yalnızca DNS kalmalıdır; çünkü proxy yalnızca desteklenen portlarda web trafiği taşır.

### Hangi SSL/TLS modunu kullanmalıyım?

Full (strict). Cloudflare ile sunucunuz arasındaki trafiği şifreler ve sunucunun sertifikasını kontrol eder. Flexible bu bağlantıyı şifresiz bırakır ve çoğu zaman yönlendirme döngülerine yol açar.

### Kayıtlarım neden ziyaretçiler yerine Cloudflare adreslerini gösteriyor?

İstekler sunucunuza Cloudflare'den ulaşır. nginx real_ip veya Apache mod_remoteip'i, yalnızca Cloudflare aralıklarına güvenerek ziyaretçi adresini CF-Connecting-IP başlığından okuyacak şekilde yapılandırın.

### Alan adımın kayıt firmasını değiştirmem gerekir mi?

Hayır. Yalnızca ad sunucularını Cloudflare'in atadıklarıyla değiştirirsiniz. HyperDC'de kayıtlı bir alan adı için bunu Alan Adı Yönetimi › İsim Sunucuları altında yapın.

### Cloudflare sunucumdaki güvenlik duvarının yerini alır mı?

Hayır. Proxy'lenen web trafiğini korur. Sunucunuzun güvenlik duvarını koruyun ve saldırganlar proxy'yi atlayamasın diye web portlarına yalnızca Cloudflare aralıklarından izin verin.

---

Kaynak: <https://hyperdc.com/tr/guides/networking/cloudflare-proxy-setup>\
Son güncelleme: 2026-10-09
