Is a node.js app running on express.js hosted in Azure using IIS? - node.js

I'm working on a app that is hosted in Azure.
The app is a web-app based on node.js/express.js.
Is it running on/in a IIS server since it is hosted in Azure?
My app does not use the iisnode package. But i wonder if it is inherently running on IIS since it is hosted in Azure?
Also: As i understand at the moment, IIS-express and express.js is two completely different environments for hosting web-servers.....?

Just according to your description, it seems that you were talking about hosting a node App based on express.js to Azure WebApp for Windows.
Yes for hosting Node.js app in IIS on Azure WebApp for Windows, you need to use iisnode (a native IIS module) to host node.js applications with the web.config file in IIS on Windows. For more details, you can refer to the wiki page iisnode wiki of GitHub repo Azure/iisnode to know what iisnode is, and to know how to host it with a web.config file in IIS via the other wiki page Using a custom web.config for Node apps of GitHub repo projectkudu/kudu.
However, No for Azure WebApp for Windows, because you also can use IIS as a reverse proxy server to handle a Node app via the default port %HTTP_PLATFORM_PORT% specified by Azure WebApp like the blog Running java jar file to serve web requests on Azure App Service Web Apps for Java said. But generally, it's not a recommended way.
Meanwhile, No for hosting Node app on other Azure services, such as Azure WebApp for Liunx, Azure VM, or Azure Container services, these services based on Linux do not require IIS, so the iisnode module also be not absolute required.

Related

Azure: change an existing Windows Web App to a Linux Web App (docker)

I have an existing Windows Web App in Azure which I want to migrate to a Linux (docker) Web App. It is easy to setup a new Linux Web App with a new URI and that all works. However, I need to preserve the existing URI (myservice.azurewebsites.net) that I have on the Windows Web App and use it in the Linux Web App.
Any downtime is not acceptable, so I cannot just "test" if I can remove the current Windows Web App and "re-use" the same URI.
Created ASP.Net Core Web App and deployed to Azure Windows App Service.
Tried to deploy the same Web App to Linux App Service(Docker), got the below warning.
Tried to continue the steps to provide the configuration access to docker container, got the below error.
For the apps which we want to deploy in Azure Linux Docker, we need to Enable Docker and provide Docker OS , which is not required for Azure Windows App Service.
remove the current Windows Web App and "re-use" the same URI.
It is suggested to create a new App Service Plan and deploy to Linux App (Docker).

How to Deploy Blazor Webassembly Web Application to Azure?

I have created a Blazor Webassembly web application with the PWA feature. It is a CRUD application.
This is my folder structure:
Now I want to deploy it to azure. How can I do that?
The server app is just an ordinary ASP.NET Core application (this is the app that needs to be published). You have several options, like publishing the app to an Azure App Service or an Azure virtual machine. The former would require you to prepare a Docker image (usually a good start would be to enable Docker support for the server project and tweak the created Dockefile to your needs).
Just read the docs at https://learn.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs?view=aspnetcore-5.0 to get the full picture.

The web server built-in Azure app service

Background:
I am hosting a static web app, generated by NUXTJS on an Azure App Service.
Now I want to configure something more by the web.config like set CORS setting for multiple domains.
But I cannot find any document to figure out what kind of web server has been integrated/installed within the azure app service.
Questions:
Maybe an IIS if the platform is Window based, otherwise Apache when creating AAS in Linux based. Is it correct?
And what is the corresponding version for each?
There are different HTTP server approaches in App Service for Windows and App Service for Linux.
Azure App Service for Windows runs on IIS with the use of modules.
.NET Core apps in App Service on Windows are hosted by ASP.NET Core module
Node.js apps in App Service on Windows are hosted with IISNode.
The IISNode project provides a native IIS 7/8 module that allows hosting of node.js applications in IIS 7/8 and IIS 7/8 Express.
Python 2.7 and Python 3.4 is by default is installed on App Service in root folders on the server
Java apps in App Service on Windows are hosted with Maven plugin
Azure App Service for Linux works a bit differently.
https://anthonychu.ca/post/jekyll-azure-app-service-linux/
App Service for Linux comes with a bunch of preconfigured containers such as Node, PHP, Java, Python, Ruby and .NET Core.
https://learn.microsoft.com/en-us/azure/app-service/configure-common#configure-language-stack-settings

How to setup iis in Azure web app service with Net Core 2 app?

I develop simple Web Api on Net Core 2 and add Angular app to it (inside wwwroot folder) and publish it from my VS 2017 IDE to Azure Web App Service. All work fine, but when I reload page of my app in browser, server can't find route. So It often happens when iis not setup for SPA, It's described in https://angular.io/guide/deployment, I must configure the server to return the application's host page (index.html) when asked for a file that it does not have. How I can setup server node of iis in Azure Web App Service (web.config in Net Core 2 was deleted).
I am afraid you cannot achieve this.
Cause: Azure App Services runs IIS so it behaves mostly the same as local IIS, routing requests using a native module called AspNetCoreModule. So, it needs your published web.config file. Even though you deleted the web.config file, Azure would also generate a new web.config file to be used.(Though I don't understand why you delete the web.config file)
Solution:
Even you can upload the web.config file to Azure again, I'm afraid of that it will be ignored and doesn't work. So, I suggest you redeploy your website which contains web.config file to Azure and configure it well.
Additional: Azure Web App service is a kind of PaaS. So, if you want to install IIS manually, you can choose to host your website on a Windows Azure VM.

How do I mount an already existing php app to an empty azure php web app

Ok so I created an empty php web app in Azure, and I already have an existing php app that I have only tested locally, question is: How do I "transfer" that app to that empty php web app I created in Azure?
To migrate your existing PHP app to Azure Web Apps, you might need to do the following things:
Deploy all files of your PHP app to a virtual directory's root (D:\home\site\wwwroot) using FTP or source control:
Deploy your app to Azure App Service using FTP/S
Local Git Deployment to Azure App Service
Configure PHP in Azure App Service Web Apps
Azure Web Apps run on Microsoft IIS. If you have ever had your project run on Apache Web server, you also need to translate .htaccess ontent to IIS web.config.

Resources