PHP aplikace na subdoméně – Varnish stripuje cookies a Authorization header

95 zhlédnutíWebhostingcookie SESSION varnish
0

Dobrý den,

Začínám provozovat vlastní PHP aplikaci na subdoméně previews.ondrejhromadko.com (webhosting 315978). Aplikace má sloužit jako klientský portál.

Problém: Varnish cache na webhostingu stripuje cookies a custom HTTP headery (včetně Authorization: Bearer) před předáním requestu na PHP. Výsledkem je že PHP aplikace nemůže autentizovat uživatele.

Ověření problému: Pomocí getallheaders() jsem ověřil že PHP nedostává:

  • Cookie header
  • Authorization header
  • Žádné custom headery

Varnish předává pouze základní headery (Accept, User-Agent atd.).

Co potřebuji:

  1. Aby Varnish předával Cookie header a Authorization header pro subdoménu previews.ondrejhromadko.com,
  2. nebo aby byla tato subdoména vyňata z Varnish cache úplně – jde o dynamickou PHP aplikaci kde caching nedává smysl,
  3. případně informaci o sticky sessions – každý request dostane jiné session ID protože load balancer přiřazuje requesty různým serverům

Dočasné řešení: Aktuálně předáváme autentizační token jako URL query parametr ?_token=... což je bezpečnostní riziko a neprofesionální řešení.

Technické detaily:

  • Webhosting: 315978 (ondrejhromadko.com)
  • Subdoména: previews.ondrejhromadko.com
  • PHP 8.0
  • MariaDB 10.4
  • Varnish/8.0 (Via header potvrzen)

Děkuji za pomoc.

Role: Zákazník
MR394088 Odpověděl na otázku
0
5.93K Odpověď od WEDOS Internet, a.s. 0 Komentář

Dobrý den,

na sdíleném webhostingu není možné upravovat chování Varnish cache ani nastavovat výjimky pro konkrétní hlavičky či subdomény. Stejně tak není možné Varnish pro konkrétní subdoménu vypnout nebo zajistit sticky sessions. Webhostingy optimalizujeme pro běžné webové aplikace.

Pro provoz aplikace, která vyžaduje předávání vlastních hlaviček a plnou kontrolu nad requesty, doporučujeme využít spíše VPS nebo dedikovaný server, kde je možné si chování serveru plně nastavit dle Vaší potřeby.

Děkujeme za pochopení.

Role: Podpora
MR394088 Odpověděl na otázku
Prohlížíte 1 ze 1 odpovědí, klikněte zde pro zobrazení všech odpovědí.