2017-03-04 2 views
1

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.

+0

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

+0

@Tratcher Vielen Dank! Ich werde das machen. Würdest du bitte eine Antwort darauf geben, damit ich es verbessern kann? –

Antwort

2

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.

+0

Danke, arbeitete wie ein Charme! –

Verwandte Themen