web-dev-qa-db-ger.com

Azure: "Sie haben keine Berechtigung, dieses Verzeichnis oder diese Seite anzuzeigen

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?

8
serlingpa

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;

7
nimatra

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.

 enter image description here

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.

 enter image description here

3
theadriangreen

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.

 enter image description here

 enter image description here

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.

 enter image description here

 enter image description here

Durchsuchen Sie jetzt die Web-App http://<app-name>.azurewebsites.net, die gut funktioniert.

2
Peter Pan

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 .

1
Leon

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

1
gchao

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.

enter image description here

0
Aman Mohammed