Laden...

Wie konfiguriere ich einen ISS mit ASP.NET Core um ihn von einem Vue.js Frontend zu erreichen?

Erstellt von camelord vor 5 Jahren Letzter Beitrag vor 5 Jahren 2.052 Views
camelord Themenstarter:in
256 Beiträge seit 2006
vor 5 Jahren
Wie konfiguriere ich einen ISS mit ASP.NET Core um ihn von einem Vue.js Frontend zu erreichen?

Hallo zusammen - meine Web App basiert auf einem ASP.NET Core 2.1 Backend, einem vue.js Frontend und einem IIS Webserver. Auf dem Windows Server 2016 läuft noch Mongo DB als Datenbank.

Lokal während der Entwicklung lief alles super und nach dem publishing auf den web server war ein erster Test auf dem neuen Server LOKAL auch erfolgreich (unter http://localhost:8080/).
Wenn ich die Web App jedoch aus dem Firmennetzwerk aufrufe, erscheint zwar das vue.js frontend, die web app kann sich aber nicht mit dem ASP.NET Core Backend verbinden - ich bekomme nur einen 'Netzwerkfehler'.
Kennt jemand eine Anleitung zur Konfiguration von IIS für ASP.NET core 2.1 und vue.js?

Gruß
camelord

16.807 Beiträge seit 2008
vor 5 Jahren

Was sagt Deine IE/Chrome Developer Tools?
Da muss mehr kommen als nur Netzwerkfehler.

Prinzipiell gibt es da auch keine pauschale Dokumentation.
Aber die Developer Tools sind immer der erste Anlaufpunkt für Frontend Debugging.

1.029 Beiträge seit 2010
vor 5 Jahren

Hi,

naja - ich gehe davon aus, dass er gar nicht bis zu deinem Logging kommt - was sagt denn das Windows-Ereignis-Protokoll? Alternativ - mir hat's auch schon mal geholfen einfach "dotnet run" auf dem Server auszuführen - da war er teils deutlich gesprächiger... Mit den beiden Mitteln solltest du jedenfalls deutlich mehr als einen Netzwerkfehler haben...

LG

16.807 Beiträge seit 2008
vor 5 Jahren

Naja er ruft anscheinend die App auf - also muss er irgendeine Meldung bekommen.
Den Error "Netzwerkfehler" alleine gibt es bei HTTP nicht; und zB Chrome quittiert einen Verbindungsaufbaufehler normalerweise auch mit mehr Informationen.

camelord Themenstarter:in
256 Beiträge seit 2006
vor 5 Jahren

Ok dann versuche ich so weiter vorzugehen. Bin erst die Tage wieder vor Ort um den Fehler aus Chrome des Client Rechners auszulesen.
Ich kann mich derzeit nur mit dem Server Remote (Teamviewer) verbinden.

Meine Frage zielte dahin, um mich vorab ein bisschen einzulesen - mein Webserver Wissen ist eher mager.

camelord Themenstarter:in
256 Beiträge seit 2006
vor 5 Jahren

Hallo nochmal

ich komme einfach nicht weiter - vielleicht nochmal:
Ich habe auf dem Windows Server 2016 den IIS installiert und MongoDB.
Wenn ich mich mit TeamViewer auf den Server verbinde und mich mit dem dort installierten Browser auf die Webseite gehe (http://192.168.2.35/index.html) läuft alles wunderbar:
Ich kann die Seiten aufrufen, Daten anlegen und wieder abrufen.

Deshalb gehe ich davon aus, dass der Zugriff von der ASP.NET Core 2.1 Applikation auf die MongoDB mit dem ConnectString "mongodb://localhost:27017" funktioniert.

Die ASP.NET Core App ist eine reine API App, die mit der vue.js App kommuniziert. Die vue.js app liegt im wwwroot Ordner der ASP.NET core app.

Greife ich von einem anderen Rechner im Netzwerk (z.B. von 192.168.2.100) auf den Server zu (http://192.168.2.35/index.html) klappt zwar der Zugriff aber ich bekomme einen Connection Error.
Das heißt, dass die Webseite dargestellt wird, jedoch kann sie nicht mehr auf die MongoDB Daten zugreifen.

Kann es sein, dass ich neben IIS und MongoDB noch Node oder sowas auf dem Server installieren muss?

Gruß
camelord

463 Beiträge seit 2009
vor 5 Jahren

Nur zur Sicherheit - in deinem ersten Post greifst du über den Port 8080 und localhost auf die Seite zu, in deinem letzten Post über Port 80 und der IP 192.168.2.35. Die Verbindung zur MongoDB wird immer auf dem IIS stattfinden, deshalb dürfte/müsste es egal sein von wo aus der Zugriff erfolgt.

Bist du sicher, dass keine Firewall hier einen benötigten Port sperrt bzw. den Port 8080 als ProxyPort speziell behandelt?

C
19 Beiträge seit 2017
vor 5 Jahren

Hallo camelord, ich habe weder mit vue.js noch mit mongodb gearbeitet, deshalb kann ich dir nichts konkretes sagen.

Bei der Arbeit an Web-Anwendungen hänge ich mich ganz gerne mit dem VisualStudio-Debugger an den IIS-Prozess der Webanwendung an, während die Anwendung ganz normal im IIS läuft und auf vorgesehen Weise (z.B. über Browser) angesprochen wird. So kann ich unter realen Bedingungen sehr genau nachvollziehen wo was schief geht. Das geht natürlich nur, wenn die Anwendung in einem VisualStudio-Projekt entwickelt wurde.

Für Details siehe hier. Beachte, dass der Prozess der Anwendung erst dann im Prozessbrowser erscheint, wenn die Anwendung vor kurzem angesprochen wurde und nicht direkt nach dem Start der App im IIS. Und die App sollte natürlich im Debug Modus gebaut werden.

camelord Themenstarter:in
256 Beiträge seit 2006
vor 5 Jahren

Hallo nochmal

um das abzuschließen:

Stefan.Haegele hatte den richtigen Tip. Nachdem ich die Firewall Ports mir angesehen habe, ging mir ein Licht auf.

Nun flutscht die Anwendung auch von außerhalb des Webservers..

Vielen Dank an alle!