IISNode fails with HTTP 500.1001 on Azure - node.js

Here's the only error message I've been able to find, from an error file in /LogFiles/W3SVC1180911273:
ModuleName iisnode
Notification EXECUTE_REQUEST_HANDLER
HttpStatus 500
HttpReason Internal Server Error
HttpSubStatus 1001
ErrorCode The system cannot find the file specified.
(0x2)
I have a project I've been developing locally that I'm trying to now host to Azure. It's a Node project using socket.io, Webpack, and Typescript for the server-side and client-side JS. I haven't been able to get it working. Navigating to the site gives me a "This page isn’t working" 500 error.
I've created a custom deploy.cmd file that runs webpack and compiles my typescript. I've created an iisnode.yml file to make sure loggingEnabled: true is set. I've turned on Web Sockets in azure, and ensured that <webSocket enabled="false" /> is set in my site's generated web.config, though I don't think sockets are the issue.
I also made sure that the express app is listening on process.env.PORT so that it uses the named pipe from Azure.
I use a site log tail to view the node logs and when I first navigate to the site after starting it, I see my node server start up successfully, without errors, and begin running. But the request always fails, multiple times in a row.
I can't find anywhere that it says what the actual file is that it can't find.
I previously had some ENOENT: no such file or directory errors thrown by node, and those showed up in my /site/LogFiles/Application/logging-errors.txt file, as well as my streaming logs. So the issue isn't with Node, it's with IISNode. And I can't figure out where to get more details about what's failing.
I'd greatly appreciate anyone being able to help me figure this out.

Related

MERN stack application deployment to Heroku issues

As the title says, when the application is supposed to be built and good, (at least during deployment, the log files etc always state that the build was successfull) when everything should be set to go, I open the site and encounter 2 console errors:
Failed to load resource: the server responded with a status of 503 (Service Unavailable)
Failed to load resource: the server responded with a status of 503 (Service Unavailable) favicon.ico:1
Tried looking up those errors and finding solutions but none of them seemed to work, Even though, the application works perfectly on local heroku (where you can test your app, in the heroku enviroment).
Not sure what I could do to fix my problem, as many forums suggest that you can't really do anything about it if it works fine on local heroku, it's must likely a server fault.
Thanks
edit: kinda fixed it myself after long days of struggling. Changed up file locations, moved server.js etc out from backend, into the main folder, and created a client folder, which now contains all the frontend stuff. Exact opposite what I used to have, since I used to have frontend out in the 'wild' and only had a backend folder for... well, backend files/folders/scripts.
Problem solved... kind of, still not sure why the first version i tried to use didn't work, but at the end of the day, I'm fine with it

Socket.io.js can't be found (404)

I've developed a small chat application with Socket.io and Express, currently deployed on my droplet at digital ocean. You can see it live at https://keleheart.com/chatapp. It currently doesn't work because the server is giving back a 404 for the chatapp/socket.io/socket.io.js script I have at the bottom of my html file, should be able to see that when you visit the site and hit f12
I've been through a few fixes already that were popular on here such as This one and this one and I've even tried changing the script from local to a CDN as depicted here , and the CDN seems to work better,(still gives the 404 but it then no longer says io isn't defined??) but it still doesn't produce the output I need.
You are able to review my repo on my Github Page for this as well, there's just the index.html file for the client and then the chatApp.js for the server. The error is coming from my html file but all the fixes have told me to manipulate my package.json, server variables, and nothing has worked so far. My server still cannot find chatapp/socket.io/socket.io.js
Have you tried creating the /socket.io folder next to index.html, and putting a copy of socket.io.js inside of that? That has always worked for me, but you might have to hunt through the node_modules folder to get the file. This always fixed it for me.
And of course, be sure to actually serve the file using express's static method.
Your browser is giving you the correct error message. Since /socket.io/socket.io.js does not exist on the server, the browser displays the server's 404 message.

use node.js express on iis with iisnode

I got a node.js express application and i need to make it run on my local IIS server so i can send valid http requests to it and work with the responses.
I am using win 10 and IIS 10.
I followed the different guides about working with iisnode in order to use node.js application on IIS.
https://github.com/tjanczuk/iisnode
I also managed to run the tests, so the iisnode is installed, valid and is working together with my IIS.
The "built-in" test is being executed under the default web site which comes with IIS, it creates a new application under it from which there is a working access to the different examples.
My problem is that i am still lacking some information about how to setup my own node.js app on IIS since this information seems to be lacking.
And later on how to overcome issues with invalid http requests.
HTTP status: 500
HTTP subStatus: 1001
HTTP reason: Internal Server Error
I would advice to follow the next guide,
https://harveywilliams.net/blog/installing-iisnode
combined with the official github page of iisnode,
it has all the details about making a simple express node.js app working from scratch with iisnode on IIS.
I would advice to test each part before moving on to the next and once done testing to start first from a minimalistic and simple app of your own and once everything is working build it up from there.
P.S. The reason for this error for me was bad naming when i used express.routing
step 1 :- Install Node js
step 2 :- Install IISNode :- from here
then root folder structure like below.
iisnode folder contains log file and index file.
step 3 :- create angular server side build so it will creates browser and server folder. add them in dist folder as shown in below.

Node.js Heroku deployment error

I've tried to attach the build log but stack over flow was keep throwing errors, so i will go ahead and skip the build log. As far as the build log goes, there wasn't an error.
As you can see there is no error generated while building the system on heroku's side. I did everything that my domain name company told me to.
However, when I go to my custom url, www.example.com, I see an error:
Heroku | No such app
There is no app configured at that hostname.
Perhaps the app owner has renamed it, or you mistyped the URL.
The url that heroku gives me works but when I connect it to my namecheap domain, it keeps giving me that Heroku | No such app-error.

Debugging ERR_CONNECTION_RESET error

Recently I started getting The connection was reset. error message (error code is ERR_CONNECTION_RESET) when I open one of my websites. This has nothing to do with application(node.js) level afaik as no changes or deploys were made in the application. To add to this, there were no error logs so I am assuming the request did not even receive the node app. The website is hosted on godaddy and its backend is a elastic beanstalk application. How do I fix this? On the web browser, in the second attempt it automatically loads correctly. But in a iframe which embeds my website, this has become a nasty issue as the browser does not even retry. I did the DNS analysis using dig command and all that but could not find anything relevant. Interesting part is this only happens after some interval (it does not happen continuously). On reload it works without fail.

Resources