Wie gehe ich mit absoluten Verzeichnissen im Nginx-Reverse-Proxy um?
PHP中文网
PHP中文网 2017-06-16 09:19:40
0
1
954

Szenenanforderungen

Jetzt müssen wir einen externen Gateway-Server entwerfen, der als Agent für viele andere Dienste innerhalb des Unternehmens fungiert.
Die derzeit verwendete Methode ist der Nginx-Reverse-Proxy.
Der Code in Nginx.conf lautet wie folgt

location ^~ /services/ {
    ...
    proxy_pass 真实uri
    ...
}

Es sind Probleme aufgetreten

Probleme können auftreten, wenn der HTML-Code eines bestimmten Dienstes Ressourcenzugriff enthält oder zu einem absoluten Verzeichnis springt.

Wenn Sie beispielsweise die ABC-Website 10.10.10.10/ als Proxy verwenden möchten, enthält der HTML-Code der Website Zugriff auf die Ressource /static/a.jpg.

Wenn ein Benutzer auf meinen Gateway-Server zugreift, werden folgende Methoden aufgerufen:

Get www.xxx.com/services/abc
Get www.xxx.com/static/a.jpg Zu diesem Zeitpunkt schlägt das Abrufen fehl.

Die bestehende temporäre Lösung besteht darin, wie folgt einen Proxy für das absolute Verzeichnis der abc-Website in nginx.conf hinzuzufügen

location /static/ {
    proxy_pass http://10.10.10.10/static/;
}

Aber wenn es zu viele Dienste gibt, kommt es zu Konflikten.

Wie kann das Problem gelöst werden?

Vielen Dank fürs Stöbern.

PHP中文网
PHP中文网

认证高级PHP讲师

Antworte allen(1)
Ty80

为什么不配置几个子域名呢 abc.xxx.com

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage