# SSL-hibák: átirányítási hurok és ssl_error_rx_record_too_long

> Két tipikus HTTPS-hiba okai és javítása: a végtelen átirányítás proxy-SSL-es tárhelyen, és a „SSL received a record that exceeded the maximum permissible length” hiba.

Két ritkább, de zavaró HTTPS-hibáról lesz szó: az átirányítási hurokról, amit a „proxy SSL” tárhelyek okoznak, és a böngésző „SSL received a record that exceeded the maximum permissible length” hibájáról.

## Átirányítási hurok proxy SSL-es tárhelyen

Vannak tárhelyek (a példa a Network Solutions), amelyek az SSL-t proxyn keresztül kezelik. Ilyenkor sem a PHP, sem a WordPress `is_ssl()` függvénye nem tudja megállapítani, hogy az oldal HTTPS-en érkezett: a szerveroldali kód mindig HTTP-t lát. Ha a WooCommerce kényszeríti a HTTPS-t, az oldal újra és újra átirányít a HTTPS-címre, amíg a böngésző végtelen hurok miatt (kb. 30 másodperc után) szerverhibát nem jelez.

A tárhelyek ezt a korlátot régóta ismerik, és nem változtatnak rajta. PHP-ban nincs rá megkerülő megoldás. Az egyetlen kiút:

1. Kapcsold ki a HTTPS-kényszerítést (a „Force SSL” jellegű beállítást a WooCommerce-ben, illetve minden olyan bővítményben vagy szabályban, amely a HTTPS-re irányít).
2. Az átirányítást JavaScripttel oldd meg: a következő kódot a tárhely maga is ezt javasolja (a példában a `subdomain.yourdomain.com` helyére a saját domainnevedet írd):

```html
<script language="javascript">
if (document.location.protocol != "https:")
{
document.location.href = "https://subdomain.yourdomain.com" + document.location.pathname;
};
</script>
```

Ez nem szabványos megoldás, ezért hivatalos támogatás nincs hozzá. Ha teheted, válts olyan tárhelyre, amely nem proxy-SSL-t használ.

## ssl_error_rx_record_too_long

Ez a hiba azt jelenti, hogy a böngésző titkosított választ várt, de titkosítatlan adatot kapott. A böngésző hibaoldalt mutat a webhely helyett, általában az összes HTTPS-oldalon, nem csak a WooCommerce-éin. A pontos üzenet böngészőnként más:

- **Firefox:** „SSL received a record that exceeded the maximum permissible length”, hibakód: `ssl_error_rx_record_too_long`.
- **Chrome és Edge:** „This site can’t provide a secure connection” vagy `ERR_SSL_PROTOCOL_ERROR`.
- **Safari:** „Safari can’t open the page because Safari can’t establish a secure connection to the server.”

### Gyakori okok

- **Nincs SSL-tanúsítvány.** A webhely címei HTTPS-re vannak állítva, de a szerveren nincs érvényes tanúsítvány telepítve vagy beállítva.
- **Hibás portbeállítás.** Az SSL alapértelmezett portja a 443. Ha a szerver másik porton figyel, vagy a 443-as port titkosítatlan tartalmat szolgál ki, a böngésző váratlan adatot kap.
- **Hibás VirtualHost.** Apache-szerveren a 443-as port VirtualHostja hiányzik vagy rosszul van megadva, ezért a szerver sima HTTP-vel válaszol.
- **HTTPS-cím SSL nélkül.** Ha a **WordPress cím (URL)** és a **Honlap cím (URL)** `https://`-sel kezdődik, de a szerver nincs felkészítve SSL-re, minden oldalkérés ezt a hibát adja.

### Ellenőrzés a címeknél

1. Nyisd meg a **Beállítások → Általános** oldalt.
2. Nézd meg a **WordPress cím (URL)** és a **Honlap cím (URL)** mezőt.
3. Ha mindkettő `https://`-sel kezdődik, kérdezd meg a tárhelyszolgáltatót, hogy a domainedhez van-e érvényes, aktív SSL-tanúsítvány.
4. Ha nincs tanúsítvány, és nincs is szükséged HTTPS-re, írd át mindkét címet `http://`-re. Ha a hiba miatt be sem tudsz lépni az irányítópultra, kérj segítséget a tárhelyszolgáltatótól, vagy írd át a címeket közvetlenül az adatbázisban.

![A Beállítások → Általános oldal a WordPress cím és a Honlap cím mezőkkel](./kepek/hibaelharitas-altalanos-webcimek.webp)

*A Beállítások → Általános oldal a WordPress cím és a Honlap cím mezőkkel* (https://minta-bolt.hu/wp-admin/options-general.php)

A képen a két cím mezőt keresd: itt `http://` vagy `https://` az előtag, ezt kell egyeztetned a szerver tényleges beállításával.

### A tanúsítvány ellenőrzése és a szolgáltató

Egy online SSL-ellenőrzővel (például SSL Labs vagy SSL Shopper) megnézheted, helyesen van-e telepítve a tanúsítvány. Ha az eszköz hibát jelez, küldd el az eredményt a tárhelyszolgáltatódnak, hogy javítsák.

Ha a címek jók, és a hiba megmarad, kérd meg a szolgáltatót vagy a szerver üzemeltetőjét, hogy nézzék át:

- van-e érvényes SSL-tanúsítvány a domainedhez;
- figyel-e a szerver SSL-kapcsolatokra a 443-as porton;
- helyes-e a 443-as port Apache- vagy Nginx-VirtualHostja, és a megfelelő dokumentumgyökérre mutat-e.

Mivel ez szerverszintű beállítási hiba, a szolgáltató tudja a leggyorsabban megoldani.
