Back to Question Center
0

Semelovať externé stránky, ktoré môžu mať mobilnú verziu

1 answers:

V nadväznosti na odpoveď na otázku "Nginx Reverse Proxy for Tumblr", aký je najlepší spôsob, ako do vyrovnávacej pamäte webovej stránky ako Tumblr s nginx, ktorá vráti odlišné výsledky v závislosti od User-Agent?

Na jednej strane by sme nechceli zachovať osobitnú kópiu vyrovnávacej pamäte pre každý možný reťazec používateľského agenta - čo by bolo šialené.

Na druhej strane, informácie o tom, ktoré časti žiadosti používajú na určenie, ktorú verziu slúžia, sú proprietárne, takže nie je to, ako by sme vedeli, čo máme.

Aký je najlepší spôsob, ako urobiť ukladanie do vyrovnávacej pamäte s minimálnou pravdepodobnosťou rôznych používateľských agentov znečisťujúcich a narušujúcich vyrovnávaciu pamäť?

1 week ago

Ste správne, že proxying je menej efektívny, keď dokument má veľa variácií pre rôznych klientov. V tomto prípade znie to, že tam môžu byť len dve verzie, čo zjednodušuje problém. Ideálnym riešením by bolo proxy založené na užívateľskom agenta. Bude slúžiť mobilnej verzii pre mobilných klientov a desktopovú verziu pre ostatných klientov.

Napríklad existujú regulárne výrazy, ktoré by mohli byť použité v nginx prepisovaní pravidiel na vykonanie proxyingu. Takéto pravidlá sú dostupné tu .

Tu je, ako by ste ju mohli implementovať v nginx:

  ak ($ ​​http_user_agent ~ * "/ Mobile | Android | BlackBerry /") {proxy_pass http: // m. príklad. com $ REQUEST_URI;
}proxy_pass http: // www. príklad. com $ REQUEST_URI; 
Semelovať externé stránky, ktoré môžu mať mobilnú verziu
Reply