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 Source - dorfgastein logo creator.

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äť?

February 11, 2018

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;