2017-06-15 1 views
0

Ich bin neu bei Azure, ich verwende die kostenlose Azure-Edition als Benchmark.Web API Absturz nach Bereitstellung auf azurblauen

Ich entwickelte einen Webapi-Dienst, der Blob und DocumentDb als DAL verwendet, und das Webapi funktioniert perfekt auf meinem lokalen Computer.

In meinem azure-Konto öffne ich den App-Dienst und stelle das Webapi auf azurblau (mit Veröffentlichung) bereit.

Wenn ich versuche, auf meine Seite zu surfen die URL mit, dass ich die folgenden Absturz Fehler durch azur gegeben wurde erhalten:

** Ein Versuch, eine Buchse in einer Weise, indem sie den Zugang verboten zuzugreifen gemacht wurde Berechtigungen 127.0.0.1:8081

Ausnahmedetails: System.Net.Sockets.SocketException: Es wurde versucht, einen Sockel in einer Weise, durch seine Zugriffsberechtigungen 127.0.0.1:8081**

verboten zuzugreifen gemacht

Ich habe mein Projekt überprüft und ich habe keinen Hinweis auf diesen Hafen oder meine Adresse gefunden !!!

Bitte helfen Sie mir, die Ursache dieses Problems zu verstehen.

+0

Wenn es sinnvoll ist, fügen Sie es als Antwort markieren, die mehr Gemeinden helfen, die das gleiche Problem haben. –

Antwort

0

Verwenden Sie asp.net oder asp.net Kern. Sicher haben Sie 8081 in Ihrer web.config oder project.json definiert und azure erlaubt Prozess hören auf benutzerdefinierten Port und damit den Fehler

Erhalten Sie einige Call-Stack in der Ausnahme? Das wird helfen, den Code zu identifizieren, der versucht, 8081

0

App Service-Plattform Ausführungsumgebung unterscheidet sich von lokalen. Alle Azure Web Apps (sowie Mobile App/Services, WebJobs und Funktionen) werden in einer sicheren Umgebung namens Sandbox ausgeführt. Wir könnten mehr Informationen über Azure Web App von Azure official document erhalten. Das folgende ist der Ausschnitt aus dem Dokument.

Netzwerk-Endpunkt

Der einzige Weg, kann eine Anwendung zu hören über das Internet zugegriffen werden soll, durch die bereits lichteten HTTP (80) und HTTPS (443) TCP-Ports; Anwendungen können nicht auf anderen Ports nach Paketen abhören, die aus dem Internet ankommen. Anwendungen können jedoch einen Socket erstellen, der Verbindungen innerhalb der Sandbox überwachen kann. Beispielsweise können zwei Prozesse innerhalb derselben App über TCP-Sockets miteinander kommunizieren. Verbindungsversuche, die von außerhalb der Sandbox eingehen, obwohl sie sich auf derselben Maschine befinden, schlagen fehl. Weitere Informationen finden Sie im nächsten Thema.

Lokale Adresse Anfragen

Verbindungsversuche an lokale Adressen (zB localhost, 127.0.0.1) und die eigene IP-Maschine wird scheitern, außer wenn ein anderer Prozess in der gleichen Sandbox hat Buchse ein Zuhörens erstellt auf der Zielport.

Zurückgewiesene Verbindungsversuche, wie im folgenden Beispiel, das versucht, eine Verbindung zu 127.0.0.1:80 herzustellen, von.NET werden in der folgenden Ausnahme führen:

Exception Details: System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 127.0.0.1:80

Verwandte Themen