iisnode not able to access file present in network file path - node.js

I am node app through iisnode. I can access file present in network path but when the application tries to access the file, it complains ' File doesn't exist'.
I tried adding IIS_IUSRS user group to have access to iisnode www directory in my local machine. I changed the username(from application pool) of the application to which I have permission(R/W) on the network path. Restarted my machine. But still problem persist.
Can someone help me if there is issue between iisnode and network file path.
const csv=require('csvtojson');
function fetchFile(){
sUsagefile ="\\\\abc\\xyz\\com.csv" .
csv().fromFile(sUsagefile));
console.log(sUsagefile);
}
Error: File does not exist. Check to make sure the file path to your csv is correct.
at C:\iisnode\www\node_modules\csvtojson\v2\Converter.js:81:37
at FSReqWrap.cb [as oncomplete] (fs.js:312:19)

I tried to access UNC path with iisnode and it was working perfectly.
Have you tried to grant IUSR and IIS Apppool\ read/writepermission for network path \abc\xyz\com.csv directly?
Besides, have you checked whether \abc\xyz\com.csv can be accessed from file explorer when IIS stop working.
It is suggested to use process monitor tool to monitor what path is read by node.exe. Please download process monitor from here:https://learn.microsoft.com/zh-cn/sysinternals/downloads/procmon then add a filter like “Path contains com.csv". Finally we would know what path the application is trying to read.

Related

How can I fix IISNode internal server error? listen EACCESS permission denied

I added a node application as a website on IIS with a web config file and whenever I try to browse the website it gives this error:
Error on web browser.
I have tried using the taskkill command to stop the process listening to this port and I also tried giving IIS_IUSRS user full permission on the root folder, but this issue persists
web.config file:
config file image
So I was able to find my way around this issue. I removed the application from IIS and I used pm2 to start the node application and I didn't encounter any error after using this approach.

Angular Universal Deployment to IIS server giving error

I have an angular universal project. After the production build dist folder was generated successfully. After putting the content in the server root folder it's displaying the following error -
iisnode encountered an error when processing the request.
HRESULT: 0x2
HTTP status: 500
HTTP subStatus: 1002
HTTP reason: Internal Server Error
You are receiving this HTTP 200 response because system.webServer/iisnode/#devErrorsEnabled configuration setting is '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.
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'.
My main.js and web.config file are under the project directory with the dist folder and I gave all users full control permission in the root folder but still there is no luck.
Any help will be appreciated. Thanks in advance.
Please make sure the permissions to give the IIS_IUSRS group write permissions to that folder
Go into the advanced settings menu and under Process Model -> Identity change the user account to a user that already has write permissions.
And this link provide the steps to set node JS in IIS:
https://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx
Maybe you need to check whether the static content feature in turn windows features on or off/IIS/world wide web service/http common feature/static content has been installed.

apache2 on ubuntu webserver rejects permission to access any other file than the delivered index.html

I am trying to set up a webserver running on Ubuntu. I have installed Apache and changed the root directory to an other directory within /var/www/. When I copy the index.html provided by Apache to that directory, I can access that file via remote webbrowser. But if I want to use a different index.html file, even really basic ones, I get an error: "Forbidden You don't have permission to access this resource". I have also tried to download that html, alter just a few lines and put it back on to the server with the result that it also shows that error. If I rename the initially provided index.html to index2.html I can still access it. I do not understand how it is possible that only this exact file is working.
I have tried to grant more permissions with Directory and restarted Apache but it won't work. I am rather new to Linux and Apache, can only use the terminal on my webserver and I do not know what else to do. Please help.
Change the permissions on the file, too, not just the folder. Pretty sure this fix it.
For diagnostic correction, allow permission for all by typing:
sudo chmod -R 777 /path/to/index.html

Error: ENOENT, no such file or directory './assets'

After setting up koa-static-folder, my image loads great when I test over localhost with http://localhost:3000/assets/myimage.jpg
But after deploying our node code to an Ubuntu server, we get:
Error: ENOENT, no such file or directory './assets'
What's Ubuntu's issue here? Not sure how to resolve this.
The code that is working locally is:
var koa = require('koa')(),
serve = require('koa-static-folder');
koa.use(serve('./assets'));
Sounds like a permission issue (but I could be wrong!) such that the user that node.js is running under does not have access rights to the assets folder. If this is the problem you have to change access permissions to the folder (see chmod) or run node.js as a user that has the access rights.
If the server isn't publicly accessible you could run the application as sudo to verify if it is a permissions problem or not. Note that using sudo is not a long term solution since it is highly irresponsible/unsecure to run the application as the root user.

System.UnauthorizedAccessException: Access to the path 'E:\approot\

I have an xml file in my project at the root directory that is supposed to be used for read/write operations. And this code works fine when i run it on my local machine, however it throws
System.UnauthorizedAccessException: Access to the path 'E:\approot\...
when the application is deployed on Cloud. I have also tried adding following setting for elevated permissions in csdef file
<Runtime executionContext="elevated"></Runtime>
still no luck. Is Read/Write permission at root directory is not given in Azure? Here I am trying to write from the same application to its root folder. I am using following code to get the file path
string baseDirectoryParent = Directory.GetParent(baseDirectory).Parent.FullName;
No, you should use localstorage:
http://msdn.microsoft.com/en-us/library/windowsazure/ee758708.aspx

Resources