nastavitve:cloudflare_bot_fight_mode_izjema_za_dolocen_ip
Table of Contents
Cloudflare Bot Fight Mode – izjema za določen IP
🎯 Namen
Ta dokument opisuje, kako:
- obdržati Cloudflare Bot Fight Mode vključen
- omogočiti REST API dostop samo določenim IP-jem
- preprečiti JS / Managed Challenge za n8n
- NE izklapljati globalne bot zaščite
Rešitev temelji na Cloudflare Custom Rules (Skip).
Zakaj je to dobra rešitev
Privzeto:
- Bot Fight Mode blokira REST API
- n8n ne zna reševati JS challenge
- rezultat je 403 Forbidden
Namesto izklopa bot zaščite:
- dovolimo izjemo samo za znane IP-je
- vse ostalo ostane zaščiteno
Predpogoji
- Cloudflare (Free plan zadostuje)
- znan statičen IP n8n
- WordPress REST API uporablja /wp-json/
Primer IP-jev:
- n8n: 49.12.184.65
- admin / test: 86.61.31.249
1️⃣ Preveri, da je Bot Fight Mode VKLJUČEN
Cloudflare Dashboard:
- Security
- Bots
Nastavi:
Bot Fight Mode = ON
To zaščiti:
- REST API
- wp-login
- wp-admin
- javne endpoint-e
2️⃣ Custom Rule – SKIP Bot zaščite za n8n IP
Cloudflare:
- Security
- Security rules
- Custom rules
- Create rule
Ime pravila:
Allow REST API – skip bot protection
Expression:
starts_with(http.request.uri.path, "/wp-json/") and (ip.src eq 49.12.184.65 or ip.src eq 86.61.31.249)
Then take action:
Skip
WAF components to skip:
- All managed rules
- All rate limiting rules
- All Super Bot Fight Mode rules
Rule order:
First
To pravilo pomeni:
- za ta IP ni bot detekcije
- ni JS challenge
- ni managed rules
- REST API deluje normalno
3️⃣ Custom Rule – blokiraj REST API za ostale
Ime pravila:
Block public REST API
Expression:
starts_with(http.request.uri.path, "/wp-json/") and not (ip.src eq 49.12.184.65 or ip.src eq 86.61.31.249)
Then take action:
Block
Rule order:
- After: Allow REST API – skip bot protection
To pravilo:
- blokira REST API za ves internet
- pusti bot zaščito aktivno drugje
4️⃣ Kako to deluje v praksi
| Vir | Rezultat |
|---|---|
| n8n IP | REST API deluje |
| Admin IP | REST API deluje |
| Javni internet | Block |
| Bot Fight Mode | VKLJUČEN |
5️⃣ Testiranje
Iz dovoljenega IP-ja:
https://example.com/wp-json/
Rezultat:
- JSON odgovor
- brez Cloudflare challenge
Iz nedovoljenega IP-ja:
- Cloudflare block page
- “Sorry, you have been blocked”
⚠️ Pogoste napake
- Skip rule ni na prvem mestu
- Bot Fight Mode ni označen v “components to skip”
- napačen IP
- testiranje iz napačnega omrežja
- uporaba Cloudflare Access (ni potrebno)
🔐 Varnostna ocena
| Element | Status |
|---|---|
| Bot zaščita globalno | ✅ |
| REST API javno dostopen | ❌ |
| Izjema samo za n8n | ✅ |
| IP allowlist | ✅ |
| Zero Trust | ❌ |
✅ Status
- Produkcijsko preverjeno: DA
- Priporočena rešitev: DA
- Boljše kot izklop bot zaščite: DA
nastavitve/cloudflare_bot_fight_mode_izjema_za_dolocen_ip.txt · Last modified: by sistemc
