代码之家  ›  专栏  ›  技术社区  ›  babycoder

在azure中出现“您没有查看此目录或页面的权限”错误

  •  0
  • babycoder  · 技术社区  · 7 年前

    我以前从未使用过Azure,我遵循了以下教程: https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-nodejs#create-a-project-zip-file

    尝试在node.js中生成的azure上部署简单应用程序时,我收到权限错误。我试过多次重装,但每次都有同样的错误我正在使用Azure的免费试用版。

    这里是package.json和web.config

    package.json包:

    {
      "name": "oslo-solutions",
      "version": "1.0.0",
      "description": "",
      "main": "scripts.js",
      "scripts": {
        "test": "karma start karma.conf.js",
        "build": "webpack --mode development",
        "start": "webpack-dev-server --open",
        "lint": "eslint src/*.js",
        "jinit": "./node_modules/.bin/jasmine init",
        "npminit": ""
      },
      "repository": {
        "type": "git"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "body-parser": "^1.18.2",
        "bootstrap": "^4.0.0",
        "express": "^4.16.3",
        "jquery": "^3.3.1",
        "lodash": "^4.17.5",
        "popper.js": "^1.14.1"
      },
      "homepage": "/",
      "devDependencies": {
        "babel-core": "^6.26.0",
        "babel-loader": "^7.1.3",
        "babel-preset-es2015": "^6.24.1",
        "clean-webpack-plugin": "^0.1.19",
        "css-loader": "^0.28.10",
        "dotenv-webpack": "^1.5.5",
        "eslint": "^4.18.2",
        "eslint-loader": "^2.0.0",
        "html-webpack-plugin": "^3.0.6",
        "jasmine": "^3.1.0",
        "jasmine-core": "^2.99.0",
        "karma": "^2.0.0",
        "karma-chrome-launcher": "^2.2.0",
        "karma-cli": "^1.0.1",
        "karma-jasmine": "^1.1.1",
        "karma-jasmine-html-reporter": "^0.2.2",
        "karma-jquery": "^0.2.2",
        "karma-webpack": "^2.0.13",
        "style-loader": "^0.20.3",
        "uglifyjs-webpack-plugin": "^1.2.2",
        "webpack": "^4.0.1",
        "webpack-cli": "^2.0.11",
        "webpack-dev-server": "^3.1.1"
      }
    }
    

    web.config:

    <configuration>
      <system.webServer>
    
        <!-- indicates that the index.js file is a node.js application 
        to be handled by the iisnode module -->
    
        <handlers>
          <add name="iisnode" path="scripts.js" verb="*" modules="iisnode" />
        </handlers>
    
        <!-- adds index.js to the default document list to allow 
        URLs that only specify the application root location, 
        e.g. http://mysite.antarescloud.com/ -->
    
        <defaultDocument enabled="true">
          <files>
            <add value="scripts.js" />
          </files>
        </defaultDocument>
    
      </system.webServer>
    </configuration>
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Jay Gong    7 年前

    我使用了这个示例node.js应用程序: nodejs-docs-hello-world 并将其部署到azure。工作正常,请参阅 web.config 文件:

    <?xml version="1.0"?>
    <configuration>
      <system.web> 
        <compilation batch="false" />
      </system.web>
      <system.webServer>
        <handlers>
          <add name="iisnode" path="scripts.js" verb="*" modules="iisnode" />
        </handlers>
        <rewrite>
          <rules>
            <rule name="myapp">
              <match url="/*" />
              <action type="Rewrite" url="scripts.js" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    </configuration>
    

    我建议你导航到 KUDU 网址: https://<your app name>.scm.azurewebsites.net/DebugConsole 然后去 site\wwwroot 检查文件是否包含在目录中。

    或者暂时放弃zip部署,只需将本地文件直接拖动到 d:home\site\wwwroot 目录并重试。

    enter image description here

    有关更多解决方案,请参阅以下线程:

    一。 Getting error after pushing to Windows Azure: You do not have permission to view this directory or page

    https://github.com/Azure-Samples/nodejs-docs-hello-world/issues/9

    希望对你有帮助,有什么问题请告诉我。