Dieser Artikel testet, ob die Standortübereinstimmung mit 1. Grundlegende Konfiguration des Nginx-Standorts1.1 Nginx-KonfigurationsdateiUpstream-Test1 { Server 127.0.0.1:8000; } Upstream-Test2 { Server 127.0.0.1:8000; } Server{ Servername test.com; hören Sie 80; access_log /usr/local/openresty/nginx/logs/test.com_access.log aktuell; error_log /usr/local/openresty/nginx/logs/test.com.log Fehler; Proxy_Set_Header Host $host; Proxy_Set_Header X-Real-IP $Remote_Addr; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy-Verbindungs-Timeout 3 s; Proxy_Lese_Timeout 120 s; Proxy_Sendezeitüberschreitung 120 s; Proxy_next_upstream-Fehler, Timeout, ungültiger Header, http_404, http_502, http_504, http_500; Standort /Benutzer/ { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Passwort http://test1/; } Standort / { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Passwort http://test2/; } } 1.2 Python-Skriptpython2 kann ausgeführt werden Dieses Skript wird verwendet, um den Anforderungsinhalt abzurufen. Dies dient als Backend, welches das Backend des Proxy_pass-Proxys ist. #!/usr/bin/env python SimpleHTTPServer importieren SocketServer importieren PORT = 8000 Klasse GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): auf def do_GET(selbst): drucken(self.headers) selbst.send_response(200, "") auf def do_POST(selbst): drucken(self.headers) Inhaltslänge = self.headers.getheaders('Inhaltslänge') Länge = int(Inhaltslänge[0]) wenn Inhaltslänge, sonst 0 drucken(self.rfile.read(Länge)) selbst.send_response(200, "") Handler = GetHandler httpd = SocketServer.TCPServer(("", PORT), Handler) httpd.serve_forever() 2. Testen2.1. Testort Es gibt Die Nginx-Konfiguration ist wie folgt Standort /Benutzer/ { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Passwort http://test1/; } Anforderungs-URL Backend-Inhalte Was wird gedruckt: Gastgeber: test1 Inhaltslänge: 0 Benutzer-Agent: PostmanRuntime/7.26.8 Akzeptieren: */* Postman-Token: f2bfe770-4f44-4ee9-91c4-060f59dfb26c Akzeptierte Kodierung: gzip, deflate, br 127.0.0.1 - - [10. April 2021 16:54:26] "POST /test.html HTTP/1.1" 200 - Fazit: Wenn der Proxy-Pass-Adresse ein 2.2. Prüfort Am Ende von proxy_pass steht Die Nginx-Konfiguration ist wie folgt Standort /Benutzer/ { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Passwort http://test1; } Anforderungs-URL Backend-Inhalte Was wird gedruckt:
Fazit: Wenn die Proxy_Pass-Adresse kein 2.3. Drei Standorte testen Kein nachgestelltes Die Nginx-Konfiguration ist wie folgt Standort /Benutzer { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Passwort http://test1; } Anforderungs-URL Backend-Inhalte Was wird gedruckt:
Anfrage 2.4, Standort nicht hinzugefügt Das letzte Die Nginx-Konfiguration ist wie folgt Standort /Benutzer { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Passwort http://test1/; } Anforderungs-URL Backend-Inhalte Was wird gedruckt:
Anfrage 2.5. Standortende Am Ende des Pfads befindet sich ein Die Nginx-Konfiguration ist wie folgt Standort /Benutzer/ { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Pass http://test1/haha/; } Anforderungs-URL Backend-Inhalte Was wird gedruckt:
Anfrage 2.6. Ende des Standorts Am Ende des Pfads befindet sich ein Die Nginx-Konfiguration ist wie folgt Standort /Benutzer/ { proxy_set_header Verbindung ""; Proxy_http_Version 1.1; Proxy-Pass http://test1/haha; } Anforderungs-URL Backend-Inhalte Was wird gedruckt:
Anfrage Abschluss |
Seriennummer | Zugriffs-URL | Standortkonfiguration | Proxy_Pass-Konfiguration | Vom Backend empfangene Anfragen | Bemerkung |
---|---|---|---|---|---|
1 | test.com/Benutzer/test.html | /Benutzer/ | http://test1/ | /prüfung.html | |
2 | test.com/Benutzer/test.html | /Benutzer/ | http://test1 | /Benutzer/test.html | |
3 | test.com/Benutzer/test.html | /Benutzer | http://test1 | /Benutzer/test.html | |
4 | test.com/Benutzer/test.html | /Benutzer | http://test1/ | //test.html | |
5 | test.com/Benutzer/test.html | /Benutzer/ | http://test1/haha/ | /haha/test.html | |
6 | test.com/Benutzer/test.html | /Benutzer/ | http://test1/haha | /hahatest.html |
Bei der täglichen Bereitstellung von Websites wird häufig der Reverse-Proxy proxy_pass
von nginx
verwendet. Es gibt eine Konfiguration, die geklärt werden muss: Bei der Konfiguration proxy_pass
,
/
nach upstram_name
erscheint, ist es gleichbedeutend mit dem absoluten Stammpfad und nginx
wird den mit location
übereinstimmenden Pfadteil nicht als Proxy verwenden./
vorhanden ist, wird auch der passende Pfadteil geproxied.Dies ist das Ende dieses Artikels über die detaillierte Konfiguration des Nginx-Standorts und des Proxy_Pass-Pfads. Weitere relevante Inhalte zur Konfiguration des Nginx-Standorts und des Proxy_Pass-Pfads finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!
<<: So betten Sie mithilfe von Iframe andere Webseiten in eine Webseite ein
>>: 25 CSS-Frameworks, Tools, Software und Vorlagen geteilt
In diesem Artikel wird der spezifische Code für J...
Inhaltsverzeichnis Stabilisierung Drosselung Zusa...
1. Hintergrund 1. Stellen Sie kurz den Shared Sto...
Ursache: Der NVIDIA-Grafikkartentreiber ist besch...
Inhaltsverzeichnis Undo-Protokoll Erstellung und ...
Inhaltsverzeichnis 1. Partikeleffekte 2. Laden Si...
[LeetCode] 175.Zwei Tabellen kombinieren Tabelle:...
Bei der Verwendung von MySQL sortieren und fragen...
Vorwort Beim Anblick des Titels sollte sich jeder...
ScreenCloud ist eine tolle kleine App, von der Si...
Inhaltsverzeichnis 0. Der mit dem System geliefer...
Vorwort Die Sprachklassifikation von SQL umfasst ...
Korrespondenz zwischen Flutter und CSS im Shadow-...
Das Konzept der gespeicherten MySQL-Prozedur: Ein...
Sie können sehen, dass ihre visuellen Effekte sehr...