Puncte:0

Nginx robot proxy_pass la alt port cu modificarea adresei URL

drapel cn

Am o problemă cu configurația nginx. Dacă agentul utilizator este „robot” - atunci treceți proxy la alt port cu setarea curent uri ca argument

de exemplu: au două servicii localhost:5000 și localhost:6000 port toți non-roboții trec la 5000 și roboții trec la 6000 cu url ca:

normal https://test.page/test/test -> http://localhost:5000/test/test
robot https://test.page/test/test -> http://localhost:6000/Page/Get?url=https://test.page/test/test

eu incerc asa:

if ( $http_user_agent ~ 'robot' ) {
                setați $request_uri "/Page/Get?url=https://test.page$request_uri";
                proxy_pass http://localhost:6000;
            }
            if ( $http_user_agent !~ 'robot' ) {
                proxy_pass http://localhost:5000;
            }

dar pentru robot a primit 404

djdomi avatar
drapel za
ce fel de robot vrei sa blochezi? Aș redirecționa /robots.txt către astfel de solicitări
drapel cn
Am nevoie de roboți de redirecționare către alt port și URL, dar nu îl blochez
Puncte:0
drapel us

Hartă este o modalitate mai bună de a efectua astfel de lucruri condiționate. Adăugați următoarele la http nivel în configurația nginx:

harta $http_user_agent $upstream {
    ~robot "localhost:6000/Page/Get?url=https://test.page$request_uri";
    localhost implicit:5000$request_uri;
}

Și apoi folosește $in amonte ca tinta:

proxy_pass http://$upstream;
drapel cn
Mulțumesc pentru răspuns, dar am primit o eroare 502 =(

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.