Nginx: Zugriff nur auf Referrer erlauben, die mit dem Standortnamen übereinstimmen
Gibt es in nginx eine Möglichkeit, den Zugriff auf einen "Standort" nur für Clients mit einem Verweis zuzulassen, der dem aktuellen Standortnamen entspricht?
Dies ist das Szenario:
etc etc
Ich möchte, dass der Inhalt des bar.org-Speicherorts nur verfügbar ist, wenn der Referrer bar.org ist. Das gilt auch für zeta.net
Ich weiß, dass ich dies "statisch" tun kann, aber es gibt viele dieser Orte, und ich muss einen Weg finden, um dies zu tun, indem ich nur einen "dynamischen" Ort definiere.
Entschuldigung für mein schlechtes Englisch.
LÖSUNG
Ich habe diesen Weg gelöst:
location ~/([a-zA-Z0-9\.\-]*)/* {
set $match "$1::$http_referer";
if ($match !~* ^(.+)::http[s]*://[www]*[.]*\1.*$ ) {
return 403;
}
}