如何在 web.config 的处理程序标记中指定文件路径



我正在尝试在Azure云上运行一个简单的节点.js应用程序。

我基本上遵循了以下网站中编写的说明。

-创建网络应用程序- https://code.visualstudio.com/tutorials/app-service-extension/create-app

-Web应用程序的部署- https://code.visualstudio.com/tutorials/app-service-extension/deploy-app

为了在Azure(IIS(上运行它,我在根文件夹中添加了web.config和server.js如下所示。 添加了 2 个文件

文件的内容如下。 [网络配置]

<configuration>
<system.webServer>
<handlers>
<!-- Indicates that the server.js file is a node.js site to be handled by the iisnode module -->
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<!-- All URLs are mapped to the node.js site entry point -->          
<rule name="DynamicContent">
<match url="/*" />
<action type="Rewrite" url="server.js"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration> 

[服务器.js] 下面仅显示部分代码。

#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('./app');
var debug = require('debug')('myexpressapp:server');
var http = require('http');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/

部署到 Azure (IIS( 后,Web 应用程序成功运行。但是,我想使用 bin/www 文件而不是服务器.js。实际上,我通过复制bin/www文件在根文件夹中创建了服务器.js文件。 为了直接使用 bin/www,我按如下方式更改了 web.config,但这会导致错误。浏览器显示错误;"您要查找的资源已被删除、名称已更改或暂时不可用。似乎找不到 www 文件。我写路径的方式有错吗?

<configuration>
<system.webServer>
<handlers>
<!-- Indicates that the server.js file is a node.js site to be handled by the iisnode module -->
<add name="iisnode" path="bin/www" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<!-- All URLs are mapped to the node.js site entry point -->          
<rule name="DynamicContent">
<match url="/*" />
<action type="Rewrite" url="bin/www"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration> 

我会感谢任何帮助。

我能够解决问题。 我将文件夹的名称从"bin"更改为其他名称,它起作用了。我试图理解为什么"bin"这个名字不起作用......是因为"bin"是服务器保留的,无法使用吗?如果有人能让我知道任何可能的原因,我会很感激......

相关内容

  • 没有找到相关文章

最新更新