Deployed Nodejs service does not work on Azure Web App - node.js

I've created two pipelines: build and release for Nodejs app.
Here is the link to nodejs app repo: azure web service
Here is the tasks for build pipeline:
Here is the wwwroot folder structure:
So it is look like all required files are present.
Despite that, I'm constantly receiving:
You do not have permission to view this directory or page
I've tried to add web.config file, but it did not help.
I have front end application on same App service Plan and it works, so it is no way that I have bad service plan.
Do you have any suggestions?
Thanks a lot.

I was able to deploy my service only after using nodejs-docs-hello-world starter.
It is looks like web.config is a required file, btw, still did not find any meaningfull documentation for web.config.
Make sure your azure nodejs env support your js syntax (import from ...), in other case use webpack or typescript.
I'have found App Service Editor very helpful if you want to debug your code errors. See section Output.
I had a problem also with nodejs version, despite the fact I choosed node 12 tls during web app creation, I have noticed that my app used node 6 under the hood. So I changed default nodejs version to 10. See here how to do it
Also, I want to thank #Jason Pan for his help.

Related

Cannot deploy Node js app to Azure ("do not have permission")

I have a Wordle-esque app that I want to deploy using Azure. Repo here. It is a fork from a popular open-source project, and I can also locally build and run the game. Locally, it runs perfectly.
I am trying to use Azure App Services to deploy it, using a Github Action. All the Actions pass, and the App can be successfully built. However, when I try to view the deployment here the only error I am receiving is
You do not have permission to view this directory or page.
Since it runs locally, and it pass its github action build, I do not know how to proceed here. I have tried restarting the app, and changing the resources I am using to host it, but that does not work. Some other answers seem to suggest the problem is about it not finding index.html, but I can access that through https://shetland-wordle.azurewebsites.net/public/index.html and the page is blank.
If i look under wwwroot/ in the Azure debugger I see the following file structure:
Any help would be appreciated
turns out it was something strange with package.json. I needed to change the path to my react scripts:
"start": "node_modules/react-scripts/bin/react-scripts.js start"
Not sure if its good practise to do this, but it works now

500 error when I try to deploy nextjs ssg application with incremental-static-generation

I have NextJS app with SSG. This functionality was added recently and according to it I should do next-export after next-build to get static files. But after appearing in 9.4 of Incremental Static Regeneration I need to keep server on by npm-start command (in my case I use custom server file with next-express functionality). It works good locally and It works good when I get artifact from Azure. But It doesn't work globally when it will be deployed finally. Help please
Through my attempts, I found that it is impossible to install globally or use next in Azure Web App. That is, it cannot be deployed through Github.Deploying using other methods such as FTP cannot run successfully. It should be related to the azure node environment.
But the method provided in this post says that it can be processed by adding web.config. I think it should be useful and helpful to you. Please read it carefully and try it.
You also can read this document, maybe it useful to you.

Angular 2 web app in Azure returning system is not defined error

I am new to Angular2 and just published a very basic app to Azure web app. I searched before posting this question and found couple of references
http://abusanad.net/2016/07/24/publish-angular-2-app-from-visual-studio-to-azure/
Deploy Angular 2 App to Azure
After following the steps in these articles, I accessed my WebApp and I see errors in browser console with 404 not found files.
System.import('main.js').catch(function(err){ console.error(err); });
Image of Exception details attached here
I also checked the versions of npm(3.10.8) & nodejs(v6.9.1) in my webapp. Seems like its good.
Any help is appreciated ! Thanks.
After adding the engines version to package.json, the issue got fixed :)
"engines":{"node":6.9.1} (In my case, this is the version)
Link for reference on how to specify the engines version:
https://learn.microsoft.com/en-us/azure/nodejs-specify-node-version-azure-apps
It looks like your server can't find the external libraries that your website is referencing, such as System.js. The list of files in your screenshot seems to have been flattened out - the original directory structure of your node_modules folder has been lost. Did you perform some step which caused this? Did you run npm install in your wwwroot folder like the tutorial advised?
Looking a bit further in the future, you will want to investigate a build process for your front-end code using a tool such as Webpack or Rollup, to stop you from deploying tons of separate source files.
Edit: Just noticed that the directory in your screenshot is (probably) wwwroot/core-js/client. Can you show us wwwroot instead?

DotNet Core web app working locally but not when deployed to Azure

I am trying to build a new web app using DotNet Core.
The app is Web API + AngularJS with ui-router.
The same app was working correctly both locally and on Azure using ASP.NET 5.
When I updated, I fixed a lot of stuff and got the new app working locally.
However, on Azure, I have the following error whenever I try to do any action:
"The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
I searched for the error online and tried to use the provided solutions but in vain (e.g.: ASP.NET Core app not working after publish to Azure).
I did not post any code here because honestly I don't know where to start and what to post. Could someone please advise?
Regards,
In case someone was facing the same issue:
I was able to detect the problem by following this link (How do I debug an ASPNET Core MVC Application Deployed in Azure)
This helped me detect that it was not able to find node_modules
I added the node_modules directory to the publishOptions -> include
It worked!
Regards,

With Windows Azure, can I deploy a node.js server using Dropbox?

There are several tutorials on Azure showing how to deploy a node.js server using git. Azure has a nifty feature where you can link a Dropbox folder to an Azure web site for very simple deployments. Works awesome for websites, but I was hoping it might work for node.js deployments as well.
It doesn't seem to work- the deployment process goes fine, but navigating to the URL of the node.js deployment produces this error:
The page cannot be displayed because an internal server error has occurred.
Anyone know if it's possible to deploy a node.js server to Windows Azure via Dropbox?
Many thanks-
UPDATE-
Just ran through the deployment logs and found this line:
The package.json file is not present.
The node.js application will run with the default node.js version 0.6.20.
Perhaps that it explains my problem?
from the console and folder type "npm init" to generate package.json

Resources