[翻译]  iisnode encountered an error when processing the request

[CHINESE]  处理请求时,iisnode遇到错误


I'm trying to check angularjs app with a server side written in node js and this is an error i get when i run in by webmatrix

我正在尝试使用在节点js中编写的服务器端检查angularjs应用程序,这是我在webmatrix运行时遇到的错误

iisnode encountered an error when processing the request.

处理请求时,iisnode遇到错误。

HRESULT: 0x2 
HTTP status: 500 
HTTP reason: Internal Server Error 

You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

您收到此HTTP 200响应,因为system.webServer/iisnode/@devErrorsEnabled配置设置为“true”。

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

除了node.exe进程的stdout和stderr的日志之外,请考虑使用调试和ETW跟踪来进一步诊断问题。

The node.exe process has not written any information to stderr or iisnode was unable to capture this information. Frequent reason is that the iisnode module is unable to create a log file to capture stdout and stderr output from node.exe. Please check that the identity of the IIS application pool running the node.js application has read and write access permissions to the directory on the server where the node.js application is located. Alternatively you can disable logging by setting system.webServer/iisnode/@loggingEnabled element of web.config to 'false'.

node.exe进程尚未向stderr写入任何信息,或者iisnode无法捕获此信息。经常的原因是iisnode模块无法创建日志文件来捕获node.exe的stdout和stderr输出。请检查运行node.js应用程序的IIS应用程序池的标识是否具有对node.js应用程序所在服务器上的目录的读写访问权限。或者,您可以通过将web.config的system.webServer/iisnode/@loggingEnabled元素设置为“false”来禁用日志记录。

Does somebody know how to fix it?

有人知道如何解决它吗?

3 个解决方案

#1


6  

Your application pool doesn't seem to have enough permissions to write to the current folder.

您的应用程序池似乎没有足够的权限写入当前文件夹。

  1. You can either edit the permissions to give the IIS_IUSRS group write permissions to that folder

    您可以编辑权限以授予IIS_IUSRS组对该文件夹的写入权限

  2. Go into the advanced settings menu and under Process Model -> Identity change the user account to a user that already has write permissions.

    进入高级设置菜单,在Process Model - > Identity下,将用户帐户更改为已具有写权限的用户。

#2


3  

It looks like your iisnode cannot write its log file, perhaps because it does not have write permissions. If you have access to to the server then you can check inside the app's folder for an iisnode folder, that is where iisnode tries to write its logs by default.

看起来您的iisnode无法写入其日志文件,可能是因为它没有写入权限。如果您有权访问服务器,那么您可以在应用程序的文件夹中查找iisnode文件夹,即iisnode默认尝试写入其日志的位置。

Until you get this log info you are stuck because the 500 error you are seeing only tells you that the error has occurred on the server somewhere. You need the logs to give you the info you need to proceed.

直到你得到这个日志信息,你才会被卡住,因为你看到的500错误只会告诉你某个地方的服务器上发生了错误。您需要日志才能获得继续操作所需的信息。

The only other alternative is to run the whole thing locally and use something like node-inspector (I use grunt-node-inspector) to debug into the nodeJS code to see what is happening.

唯一的另一种选择是在本地运行整个事情并使用诸如node-inspector之类的东西(我使用grunt-node-inspector)调试nodeJS代码以查看发生了什么。

#3


0  

I fixed this issue by running the setupsamples.bat file. This adds the permissions and other necessary configuration. The path is C:\Program Files\iisnode\setupsamples.bat for me

我通过运行setupsamples.bat文件解决了这个问题。这会添加权限和其他必要的配置。对我来说路径是C:\ Program Files \ iisnode \ setupsamples.bat


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2018 ITdaan.com 粤ICP备14056181号