Ich habe in Visual Studio 2015 eine Anwendung "node.js" erstellt, die das Azure SDK 2.7 und die Node.js-Tools verwendet.
Ich habe erfolgreich CI mit BitBucket in meiner Web-App eingerichtet, und ich kann sehen, dass Änderungen am Repository in der Tat einen Build auslösen und implementieren.
Die von mir ( http://ftct.azurewebsites.net/ ) erreichte Seite beschwert sich jedoch: Sie haben keine Berechtigung, dieses Verzeichnis oder diese Seite anzuzeigen.
Ich habe in meinem node.js eine Standarddatei (irgendwie) angegeben: app.get ('/', routes.index);
Beim Versuch, direkt zu dieser Datei http://ftct.azurewebsites.net/signin.html zu navigieren, wird ein anderer Fehler ausgegeben: Die Ressource, nach der Sie suchen, wurde entfernt und der Name wurde geändert oder ist vorübergehend nicht verfügbar.
Ich habe die App so konfiguriert, dass sie auf Port 1337 in Visual Studio ausgeführt wird. Durch die Verwendung dieses Ports wird das Problem jedoch nicht gelöst. Der Versuch, zu einer portierten Adresse zu navigieren, führt zu einer Zeitüberschreitung.
Irgendwelche Ideen?
Ich hatte das gleiche Problem,
sie benötigen web.config, package.json, server.js im Stammverzeichnis
web.config:
<configuration>
<system.webServer>
<handlers>
<!-- indicates that the app.js file is a node.js application to be handled by the iisnode module -->
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
</system.webServer>
</configuration>
in package.json müssen Sie Folgendes haben:
...
"scripts": {
"start": "node server"
},
...
und stellen Sie in Ihrer server.js sicher, dass Sie die Server-Portnummer auf setzen
process.env.PORT || 1337;
Bearbeiten: Versuchen Sie, "Node JS Empty Web App" aus der Galerie unter https://portal.Azure.com zu erstellen, und vergleichen Sie die web.config und die Site mit dem, was Sie haben. Möglicherweise fehlen einige Konfigurationseinstellungen.
Vorherige Antwort: Zunächst einmal sind nur die Ports 80 und 443 in Azure Web Apps (der neue Name der Azure-Websites) verfügbar. Port 1337 wird also nicht funktionieren. Konfigurieren Sie Ihre App für die Ausführung auf Port 80 oder 443 neu. Haben Sie App Service Authentication für das Berechtigungsproblem aktiviert? Stellen Sie sicher, dass diese Option deaktiviert ist, indem Sie die Anwendungseinstellungen der Web App wie folgt bearbeiten.
Sie können versuchen, eine Instanz von "Node JS Empty Web App" aus der Galerie im alten Portal http://manage.windowsazure.com zu erstellen, siehe unten.
Führen Sie dann das set up deployment from source control
auf der quick glance
der Web-App-Dashboard-Seite aus, um Ihre Web-App bereitzustellen.
Durchsuchen Sie jetzt die Web-App http://<app-name>.azurewebsites.net
, die gut funktioniert.
In meinem Fall habe ich diesen Fehler bei der Verwendung von ZipDeploy erhalten: Komprimieren Sie die Dateien innerhalb des Stammordners, sodass die Node.js-Dateien auf Kudu auf Basisebene anstelle eines Ordners mehr aufgelistet werden können. Dank an mike-urnun-msft .
Vermutlich fehlt die Datei web.config, die erforderlich ist, wenn iisnode zum Ausführen von Knotenprozessen hinter iis oder iis express verwendet wird.
https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config
Stellen Sie auch beim Bereitstellen der Zip-Datei über die azurewebsites.net/ZipDeployUI sicher, dass die Dateien auf der Ebene/wwwroot entpackt werden.
Wenn die Dateien unter/wwwroot/your-app-folder/angezeigt werden, erhalten Sie möglicherweise dieses Berechtigungsproblem. Ich habe lange gebraucht, um das herauszufinden! Ich hoffe es hilft.