Dies sind meine ersten Baby-Schritte in Nginx, also jede Hilfe wäre großartig.So finden Sie eine Asp.net Core-Site auf dem Subpfad
Ich habe eine kleine Andockfensters-compose Anwendung, bestehend aus zwei Behältern: nginx Hochladen
Nginx Des Port 80 auf der Hostmaschine ausgesetzt ist, so dass der Nginx so wie von unserer Intranet erreichbar ist: www.mytest .net ich würde jetzt die asp.net Kernstelle „upload“ auf subpath dieser Adresse aussetzen, wie: www.mytest.net/upload/
Derzeit bin ich nicht in der Lage, dies zu erreichen, jede URL usw. Beim Hochladen funktioniert es nicht, wenn ich versuche, es in den Pfad-Upload zu verschieben und ich bin unsicher, ob ich NGINX, asp.net core oder beide diff konfigurieren muss gerade.
Aktuelle config in nginx.conf:
location/{
proxy_pass http://upload:80;
# The default minimum configuration required for ASP.NET Core
# See https://docs.asp.net/en/latest/publishing/linuxproduction.html?highlight=nginx#configure-a-reverse-proxy-server
proxy_cache_bypass $http_upgrade;
# Turn off changing the URL's in headers like the 'Location' HTTP header.
proxy_redirect off;
# Forwards the Host HTTP header.
proxy_set_header Host $host;
# The Kestrel web server we are forwarding requests to only speaks HTTP 1.1.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
# Adds the 'Connection: keep-alive' HTTP header.
proxy_set_header Connection keep-alive;
}
}
Wie ich schon sagte, es funktioniert auf „/“, aber wenn ich „upload“ ein einfaches Formular auf der Upload-Seite verwenden funktioniert nicht mehr, wegen zu URL-Nichtübereinstimmungen.
Lesen Sie auf HttpContext.Request.PathBase und eine neue Erweiterung namens UsePathBase. Diese helfen dabei, die App-Root-URL zu isolieren, damit Ihre Routen nicht durcheinander geraten. – Tratcher
@Tratcher Vielen Dank! Ich werde das machen. Würdest du bitte eine Antwort darauf geben, damit ich es verbessern kann? –