Hogyan állítsd be a Cloudflare-t, hogy ne blokkolja a feed és a képek letöltését?#
Miért blokkolja a Cloudflare a Mergadót, ha egyszer engedélyezve van az IP-címe#
Ha a webáruházad Cloudflare-t használ, előfordulhat, hogy a Mergadó (vagy egyes bővítményei, például a Feed Image Editor) nem tudja letölteni a feedet vagy a termékképeket, még akkor sem, ha az IP-címét már felvetted a whitelistre.
Ennek az az oka, hogy a Cloudflare az automatikus feedletöltést nem feltétlenül szokásos hozzáférésként értékeli, hanem gyanús forgalomként, és blokkolhatja, vagy úgynevezett biztonsági kihívást (challenge) jeleníthet meg. Vagyis egy “Just a moment…” típusú oldalt, amelyet csak egy JavaScriptet futtató böngésző tud megoldani, egy automatizált letöltő nem. Ez elsősorban az alábbi Cloudflare-funkciókat érinti:
- Bot Fight Mode / Super Bot Fight Mode,
- Managed Challenge (felügyelt kihívás),
- Browser Integrity Check,
- Hotlink Protection,
- Security Level,
- WAF Managed Rules.
Az IP-cím egyszerű hozzáadása a régebbi IP Access Rules (whitelist) listához gyakran nem kapcsolja ki ezeket a funkciókat. Ráadásul azt tapasztaljuk, hogy a Cloudflare egyes fiókokból fokozatosan kivezeti ezt a lehetőséget, és a rugalmasabb WAF Custom Rules eszközzel váltja fel. Ez az útmutató bemutatja, hogyan állíts be ezen keresztül megbízható kivételt a Mergadónak.
Milyen IP-címeket kell engedélyezned#
- 81.31.39.112 – ez az az IP-cím, amelyről a Mergadó letölti a bemeneti feededet.
- 81.31.39.116 – ezt az IP-címet használják egyes, termékképeket letöltő bővítmények (pl. Feed Image Editor, Bidding Fox, Pricing Fox, Fox Data+).
Ha a Mergadó más bővítményeit is használod, ellenőrizd az IP-címüket A Mergado és bővítményei IP-címei című cikkben.
Lépésről lépésre: kivétel beállítása a Cloudflare-ben#
a. Hozz létre egy új Custom Rule-t#
- Jelentkezz be a domained kezelőfelületére a Cloudflare-ben.
- A bal oldali menüben lépj a Security → WAF → Custom rules menüpontra (esetleg csak Security rules, a felület verziójától függően).
- Kattints a Create rule gombra.
b. Állítsd be a feltételt a Mergadónak#
A “When incoming requests match…” szekcióban állítsd be a feltételt úgy, hogy mindkét Mergado IP-címre illeszkedjen, például így:
(ip.src eq 81.31.39.112) or (ip.src eq 81.31.39.116)Azt javasoljuk, hogy a feltételt ne célozd meg emellett konkrét elérési útra (URI Path) vagy HTTP metódusra. Minél egyszerűbb a feltétel, annál kisebb a hibalehetőség, és mivel csak két konkrét, megbízható IP-címről van szó, ez semmilyen módon nem csökkenti a webáruházad biztonságát a többi forgalommal szemben.
Ügyelj az elgépelésekre. Könnyen előfordulhat, hogy egy szövegmezőbe véletlenül bekerül egy plusz szóköz (pl.
" /feed.xml"a"/feed.xml"helyett), vagy elgépeled az IP-cím egy számjegyét. Egy ilyen feltétel soha semmire nem fog illeszkedni, a szabály sosem lép érvénybe, és máshol fogod keresni a problémát. Mindig ellenőrizd a végleges formát a feltétel alatti Expression Preview mezőben.
c. Állítsd be a Skip műveletet, és jelöld be az összes komponenst#
- A „Then take action…" szekcióban válaszd a Skip műveletet.
- Jelöld be teljesen az összes opciót a „WAF components to skip" alatt:
- All remaining custom rules
- All rate limiting rules
- All managed rules
- All Super Bot Fight Mode Rules
- Nyisd meg a „More components to skip" részt is, és jelöld be ezeket is:
- Zone Lockdown
- User Agent Blocking
- Browser Integrity Check
- Hotlink Protection
- Security Level
- Rate limiting rules (Previous version)
- Managed rules (Previous version)
Elég, ha egyetlen elem bejelöletlenül marad, és éppen az blokkolhatja tovább a letöltést.
d. Helyezd a szabályt az első helyre#
A „Place at" szekcióban válaszd azt, hogy a szabályt elsőként értékelje ki a rendszer (esetleg közvetlenül más, biztonsággal nem összefüggő technikai szabályok után). A Cloudflare a custom szabályokat fentről lefelé, sorrendben értékeli ki, és amint egy korábbi szabály blokkolja vagy kihívás elé állítja a kérést, előfordulhat, hogy a whitelist szabályod egyáltalán nem is kerül sorra.
Ha más biztonsági szabályaid is vannak a Cloudflare-ben (pl. bizonyos országokból érkező forgalom blokkolása, bot elleni védelem stb.), ellenőrizd, hogy egyik sincs a Mergado-szabály fölé helyezve.
e. Mentsd el a szabályt#
Kattints a Save gombra. A változás rendszerint néhány másodperc–perc alatt érvénybe lép.
Mi a teendő, ha a probléma a szabály beállítása után is fennáll#
Ellenőrizd, hogy a szabály valóban működik-e#
- A Cloudflare-ben lépj a Security → Events (vagy Security → Analytics → Events) menüpontra.
- Szűrd az eseményeket a forrás IP-cím szerint (81.31.39.112 vagy 81.31.39.116).
- Egy adott eseménynél nézd meg a „Matched service" szekciót. Ott ennek kellene szerepelnie: Action taken: Skip, valamint a szabályod neve.
Ha ehelyett más műveletet látsz (pl. Managed Challenge vagy Block) és egy másik szabályt, az azt jelenti, hogy a whitelist szabályod egyáltalán nem lépett érvénybe, és ellenőrizned kell a feltételt (b lépés) vagy a szabályok sorrendjét (d lépés).
Ellenőrizd a tárhelyoldali biztonsági beállításokat is#
Ha a webáruházad felügyelt tárhelyen fut (pl. Kinsta, WP Engine vagy hasonló szolgáltatás), előfordulhat, hogy saját, a Cloudflare-től független bot elleni védelemmel rendelkezik, amelyet külön kell beállítani. Így a Cloudflare helyes beállítása után is előfordulhat, hogy a feed vagy egy kép letöltési kérése továbbra is 403 Forbidden hibával zárul – ezúttal a tárhely, nem a Cloudflare miatt.
Ilyen esetben keresd meg a tárhely adminfelületén a bot elleni védelem szekciót (pl. „Bot protection"), és vedd fel oda a kivételek listájára mindkét Mergado IP-címet (ezt gyakran „Always allow" vagy hasonló néven találod). Egyes bővítményeknél (pl. Feed Image Editor) a kivételek közé felveheted azt a user agentet is, amellyel a bővítmény azonosítja magát: feedimageeditor/2.0.
Hogyan ismerd fel, hogy a Cloudflare vagy a tárhely blokkol#
Segíthet egy technikai teszt a szerver válaszára (pl. a curl -I parancs futtatása egy konkrét kép vagy feed URL-jén). A döntő jel a válaszban a cf-mitigated: challenge fejléc:
- Ha jelen van, a kérést a Cloudflare akasztja meg (folytasd a fenti lépésekkel).
- Ha hiányzik, de a kérés így is 403-as hibával zárul, az valószínűleg tárhelyoldali védelem, nem a Cloudflare.
Az olyan fejlécek, mint a server: cloudflare vagy a cf-ray, minden olyan válaszban megjelennek, amely áthalad a Cloudflare-en, akár blokkolja a kérést a Cloudflare, akár csak továbbítja a forgalmat a tárhely felé – önmagukban tehát nem árulják el, ki blokkolta a kérést.
GYIK#
Miért nem elég hozzáadni a Mergado IP-címét a régebbi whitelisthez (IP Access Rules)?#
Az IP Access Rules beengedheti a kérést, de nem feltétlenül kapcsolja ki az összes többi védelmet (Bot Fight Mode, Managed Challenge, Browser Integrity Check stb.), amelyek így is blokkolhatják a feed vagy a kép letöltését. Megbízhatóbb megoldás ezért egy Skip művelettel rendelkező Custom Rule létrehozása, amely az adott IP-címekre kifejezetten kikapcsolja ezeket a védelmeket.
Tényleg be kell jelölnöm az összes komponenst a „WAF components to skip" alatt?#
Igen, azt javasoljuk, hogy mindet jelöld be. A szabály csak két konkrét, megbízható Mergado IP-címre vonatkozik, így ezzel nem csökkented a weboldalad védelmét a többi forgalommal szemben. Elég, ha egyetlen elem bejelöletlenül marad, és a letöltés továbbra is sikertelen lehet.
Mindent az útmutató szerint állítottam be, a feed/képek mégsem töltődnek le. Mi a teendő?#
Ellenőrizd a Cloudflare Security → Events szekciójában, hogy ténylegesen milyen műveletet és milyen szabályt alkalmazott a Cloudflare a 81.31.39.112 vagy a 81.31.39.116 IP-címről érkező kérésekre. Ha Skip helyett más műveletet látsz, nézd át újra a szabály feltételét (esetleges elgépelés) és a sorrendjét a többi szabály között. Ha a szabály megfelelően működik, és mégis 403-as hibát kapsz, az a tárhelyed önálló védelme miatt lehet.
Honnan tudom, hogy a Mergadó valóban letölti a feedet?#
A Mergadó projektedben nyisd meg a Előzmények oldalt, és az Esemény típusa oszlopban szűrj a Letöltés (esetleg Termékimport) értékre. Így megjelennek az egyes letöltési kísérletek, az időponttal és a letöltött termékek számával együtt.