IIS 7.5 and IIS 8.0 European Hosting

BLOG about IIS 7.5 Hosting, IIS 8.0 Hosting and Its Technology - Dedicated to European Windows Hosting Customer

IIS Hosting UK - HostForLIFE.eu :: How do You Publish ASP.NET Core 9 on IIS (Internet Information Service)?

clock November 15, 2024 08:21 by author Peter

In this article, I presume you already have a pool on your Windows Server IIS. Follow the steps to understand the tricks for publishing ASP.NET Core 9 applications under IIS environments.

You need to set up your code to support IIS and configure the project to run on the architecture from the target pool. To check if your pool is running on x86, verify the inetmgr console, verify the Advanced setting... and check if Enable 32-Bit applications are set to true.

Let's do the steps to publish
Step 1. Start your new ASP.NET Core MVC.
dotnet new mvc -n MyTestApp

Step 2. If you compile the application and start publishing, you face these default parameters.

Step 3. I tried to publish it but got an error of 503. It's normal. This is what we will fix.
Step 4. Open the solution configuration, and choose New... from the Active solution platform.
Step 5. Choose your architecture pool. It should be the same as the pool on IIS (x86 for 32 bits).

Step 6. It will look like this.

Step 7. Back to the Publish configuration, you need to change this.

Step 8. But you will get the same error if you try to publish.

Step 9. To fix this, you need to configure your application to run under Windows, adding <TargetFramework>net9.0-windows</TargetFramework>, unload the project and edit it.
<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net9.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <Platforms>AnyCPU;x86</Platforms>
  </PropertyGroup>
</Project>

Step 10. Now, if you open the Properties of your application, you will see that it is enabled to Target OS version 7.0.

Step 11. Now, you need to select the c: with "net8.0-windows":

Step 12. Before publishing a dotnet, copy the file app_offline.htm to the target IIS installation folder. This turns off the website so this message is displayed if you try to use it:


Step 13. Extra source code, Microsoft default source code. If the file name app_offline.htm indicates to dotnet that the execution should be terminated, it automatically redirects to it. You can customize this file as you like.
<!doctype html>
<title>Site Maintenance</title>
<style>
   body {
   text-align: center;
   padding: 150px;
   font: 20px Helvetica, sans-serif;
   color: #333;
   }
   h1 {
   font-size: 50px;
   }
   article {
   display: block;
   text-align: left;
   width: 650px;
   margin: 0 auto;
   }
   a {
   color: #dc8100;
   text-decoration: none;
   }
   a:hover {
   color: #333;
   text-decoration: none;
   }
</style>
<article>
   <h1>We&rsquo;ll be back soon!</h1>
   <div>
      <p>Sorry for the inconvenience but we&rsquo;re performing some maintenance at the moment. We&rsquo;ll be back online shortly!</p>
   </div>
</article>

Step 14. You may face an error 503 yet, so add <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel> to run OutOfProcess.
<Project Sdk="Microsoft.NET.Sdk.Web">
   <PropertyGroup>
      <TargetFramework>net9.0-windows</TargetFramework>
      <Nullable>enable</Nullable>
      <ImplicitUsings>enable</ImplicitUsings>
      <Platforms>AnyCPU;x86</Platforms>
      <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
   </PropertyGroup>
</Project>

Step 15. Copy the files, then delete the app_offline.htm file to run the application. This is the result.




IIS 8.0 Hosting UK - HostForLIFE.eu :: How to Configure Authentication for the Virtual Directory?

clock November 1, 2024 08:47 by author Peter

Introduction
In this article, you will learn about how to configure authentication for the Virtual Directory.

Step 1. First of all, open the Administrative Tools from the Start Menu.

In the Administrative Tools Wizard, an option named IIS Manager will be available; double-click on this option to open it.


Step 2. Now, the IIS Manager Wizard will be opened; here, on the left-hand side, the Connections Pane will be available. The Connection Pane will show your Server Name.

Expand your Server's Name. Now you will see a folder named Sites, which contains all the sites that you have configured on IIS.

Step 3. Expand this folder to see the Configured Sites and their Virtual Directories.


Now click on the site on which the authentication process is to be performed and expand it. Under this site, you will find the Virtual Directory that you have already created.

Step 4. In the Features View, an option named Authentication will be available; double-click on it to open it.

Now your Authentication Wizard will be opened, here you will see that many types of Authentications are available.

Step 5. Right-click on any of the Authentications, and you will then see that you can Enable, Disable, or Edit the Authentication from here, if you want to Disable or Enable any of the authentications then click on it.

On clicking the Edit button, you will see that you can provide the User Name for the Anonymous User Identity.

Follow the same process for all types of authentication.



IIS 8.0 Hosting UK - HostForLIFE.eu :: Publishing ASP.NET Core 8 on IIS Publishing ASP.NET Core 8 on IIS

clock October 25, 2024 09:53 by author Peter

How to publish ASP.NET Core 8 on IIS (Internet Information Service)?
In this article, I presume you already have a pool on your Windows Server IIS.
Follow the steps to understand the tricks for publishing ASP.NET Core 8 applications under IIS environments.
You need to set up your code to support IIS and configure the project to run on the architecture from the target pool.
To check if your pool is running on x86, verify the inetmgr console, verify the Advanced setting... and check if Enable 32-Bit applications is set to true.

Let's do the steps to publish

Step 1. Start your new ASP.NET Core MVC.
dotnet new mvc -n MyTestApp


Step 2. If you compile the application and start publishing, you face these default parameters.

Step 3. I tried to publish and got an error 503. It's normal, this is what we will fix.

Step 4. So I added this code to Program.cs to enable IIS Server options.
builder.Services.Configure<IISServerOptions>(options =>
{
    options.AutomaticAuthentication = false;
});


Step 5. Open the solution configuration, and choose New... from Active solution platform.

Step 6. Choose your architecture pool. It should be the same as the pool on IIS (x86 for 32-Bits).

Step 7. It will look like this.

Step 8. Back to Publish configuration, you need to change for this.


Step 9. But you will get the same error if you try to publish.

Step 10. To fix this, you need to configure your application to run under Windows, adding <TargetFramework>net8.0-windows</TargetFramework>, unload the project and edit it.
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <Platforms>AnyCPU;x86</Platforms>
  </PropertyGroup>

</Project>

Step 11. Now, if you open the Properties of your application, you will see that it is enabled to Target OS version 7.0.

Step 12. Now, you need to select the Target Framework: with "net8.0-windows":

Step 13. Before publishing a dotnet, copy the file app_offline.htm to the target IIS installation folder. This turns off the website so this message is displayed if you try to use it:


Step 13.1. Extra source code, Microsoft default source code. If the file name app_offline.htm indicates to dotnet that the execution should be terminated, it automatically redirects to it. You can customize this file as you like.
<!doctype html>
<title>Site Maintenance</title>
<style>
  body { text-align: center; padding: 150px; }
  h1 { font-size: 50px; }
  body { font: 20px Helvetica, sans-serif; color: #333; }
  article { display: block; text-align: left; width: 650px; margin: 0 auto; }
  a { color: #dc8100; text-decoration: none; }
  a:hover { color: #333; text-decoration: none; }
</style>

<article>
    <h1>We&rsquo;ll be back soon!</h1>
    <div>
        <p>Sorry for the inconvenience but we&rsquo;re performing some maintenance at the moment. we&rsquo;ll be back online shortly!</p>
    </div>
</article>


Step 14. Copy the files, then delete the app_offline.htm file to run the application. This is the result.

Conclusion
There are a few steps, but it is essential to follow them to succeed in publishing ASP.NET Core 8 applications.



IIS 8.0 Hosting UK - HostForLIFE.eu :: How to Install and Configure Network Load Balancing Manager in Server?

clock October 11, 2024 07:55 by author Peter

In this article, I’m going to show you how to install and configure the network load balancing manager service on Windows Server 2019 in the proper method and easiest way.

What is network load balancing (NLB)?
Network Load Balancing (NLB) is a feature that distributes network traffic across multiple servers, enhancing the availability and scalability of critical applications. Let’s explore NLB in more detail.

Overview

  • NLB operates at the TCP/IP networking protocol level.
  • It combines two or more servers running applications into a single virtual cluster.
  • The goal is to provide reliability and performance for web servers and other mission-critical servers.

How Does It Work?

  • NLB clusters consist of hosts (servers), each running a separate copy of the server applications.
  • Incoming client requests are distributed across these hosts.
  • You can configure the load distribution for each host.
  • Hosts can be added dynamically to handle the increased load.
  • NLB can direct all traffic to a designated default host.
  • Computers in the cluster share the same set of IP addresses, maintaining unique IPs for each host.
  • Practical Applications.

High Availability

  • NLB ensures minimal downtime for stateless applications (e.g., web servers).
  • It allows scalability by adding servers as load increases.
  • Manageability.
  • NLB simplifies the management of clustered servers.
  • When a host fails, the load is redistributed among operational computers.
  • The offline host can rejoin the cluster transparently once ready.

Prerequisite
Here I have server one and server two on server one install ADDS and DHCP on your server two just set your IP address for the same range as server one after changing the computer name and connecting server two to server one as a domain connection below I mention given IP address with server’s computer name.
<table cellspacing="0">
    <tbody>
        <tr>
            <td>
                <p>Server One</p>
                <p>Computer Name: Server one (Without Space)</p>
                <p>IP Address: 192.168.1.200</p>
                <p>Default IP: 192.168.1.1</p>
            </td>
            <td>
                <p>Server Two</p>
                <p>Computer Name: Server two (Without Space)</p>
                <p>IP Address: 192.168.1.210</p>
                <p>Default IP: 192.168.1.1</p>
                <p>Preferred DNS Server: 192.168.1.200</p>
            </td>
        </tr>
    </tbody>
</table>


Step 1. On your server one and two install “Web Server” and “Network Lord Balancing”.

Step 2. After installed on your dashboard click “tools” then click “network load balancing”.

Step 3. Right-click the network load balancing cluster and click “new cluster”.

Step 4. Type your server one’s IP address and click “connect” after clicking “next”.

Step 5. Click “next”.


Step 6. Give your random IP address for your cluster server but make sure you have given your random IP address belonging to the same IP range by clicking “add” after clicking “next”.

Step 7. Give your domain name in the internet name box then click “multicast” after clicking “next”.

Step 8. After finishing the setup, you can see our cluster becoming green.

Step 9. Again, click on your created cluster, and after click “add a host to cluster”.

Step 10. Give your server two names with domain names after clicking “connect” and then clicking “next”.


Step 11. Click “next”.

Step 12. Click “Finish”.

Note. Now you can see our two clusters are ready.


Conclusion
We can all easily understand from this post how to install and setup Windows Server 2019's network load balancing manager service in the best and most efficient way possible. Please get in touch with me if you need any clarification on this subject.



IIS 8.0 Hosting UK - HostForLIFE.eu :: How to Set Up IIS Permissions for the Website?

clock October 4, 2024 09:02 by author Peter

In this article, you will learn how to configure permission for a Website on the IIS.

Step 1. First of all open the Administrative Tools from the Start Menu.

In the Administrative Tools Wizard an option will be available named IIS Manager; double-click on it to open it.

Step 2. Now the IIS Manager Wizard will be opened, here on the left-hand side the Connections Pane will be available, and the Connection Pane will show your Server Name.

Expand your Server's Name. Now you will see a folder named Sites, expand this folder it will contain all the sites you have configured on IIS, right now I haven't configured any websites so only the Default Website is available under it.

Step 3. Now right-click on the Website and choose "Edit Permissions".


Now the Property Window will be opened, here by default the General Tab will be open. You need to click on the Security Tab.


Step 4. Now the Group and User Names will be shown to you. To change the permission, click on any of the User or Group names and then click on the Edit Button.


On clicking the Edit button a new page will be opened, here you can Add or Remove a User from the list. You can also provide various kinds of permissions to the user by clicking the check box present in front of each permission, if you want to provide all the permissions then simply click on the Full Control and then click on the Apply Button, and then on the "Ok" button.

Step 5. When you click on the "OK" button it will return you to the Property Window, if you want to provide special permission to any user then you can simply click on the Advanced Button.


 

 

In the New Wizard select the user whose permission is to be modified and then click on the Edit Button. From here also you can Add or remove any user.




IIS 8.0 Hosting UK - HostForLIFE.eu :: How to Starting & Stopping Specific Application Under Website Root Node?

clock July 18, 2024 09:15 by author Peter

Open IIS by typing “inetmgr” in the Run window and clicking OK as shown in the following image.

This will open the IIS window.
For the application you wish to terminate, create a new application pool. As seen in the accompanying figure, right-click on Application Pool and choose New -> Application Pool.

As seen in the accompanying screenshot, give your application pool the proper name and leave the other options in the window as they are. Press OK.

As seen in the accompanying graphic, your application pool will now be created. As you can see, there are no applications associated with this recently established application pool. View the side on the right. "There are no items to shown in this view," is what is displayed.

It is now necessary to link the application you wish to terminate with this recently established application pool.
Choose the program that you wish to terminate. Use a right-click to choose Properties. View the picture below. As seen in the accompanying image, the window that follows will open.

Click on the Create button.
Automatically Application Name will be enabled by IIS and it is the name of the application by default for which you are doing this activity. You can change it as you prefer. Also, the Application Pool dropdown is now enabled.
Now select the Application Pool that you created earlier from the Application Pool dropdown list as shown in the following image.

Click OK.
Now to stop that only application, right-click on the Application Pool name then select Stop as shown in the following image.


To start the application, right-click on the Application Pool name then select Start. In this way, you can start and stop only one application under IPlanetWebsite in which many applications are deployed under it.



IIS 8.0 Hosting UK - HostForLIFE.eu :: How to Hosting Mobile WebSite Under IIS?

clock June 28, 2024 08:26 by author Peter

We will learn how to host a mobile website under Internet Information Services (IIS) in this tutorial. We must first develop a mobile web application. See my earlier post, "Developing Mobile Pages," for information on how to make a mobile website.

Testing mobile pages is not as simple as it may seem once they have been produced; mobile emulators and desktop browsers can both be used for this purpose. You can test using a direct debugging program in desktop browsers, but on mobile emulators, we must first host our website under IIS. I'll go over how to test mobile pages in mobile emulators in my upcoming article. The next article requires reading this one first. We must first host the website under IIS in order to test mobile pages in an emulator.
website hosting

To assist you in hosting the website on IIS, take a look at the screenshot below.

Launch the IIS Manager.

To access the virtual directory, right-click on Default Web Site, select New, and the screen that follows will display.

Enter the virtual name you want people to use to access your website when they type the URL. then select "Next."
You will be prompted to submit the application's physical content on the next screen.

You will be prompted to adjust your website's authorization settings on the following screen. After making all permission selections, click Next, followed by Finish.


Your website is built once the creation process is complete.

Now test whether your website is working or not. To do that open your browser and type the url like below or you can type your IP address also instead of localhost.




IIS 8.0 Hosting UK - HostForLIFE.eu :: Publishing React on IIS

clock May 8, 2024 08:29 by author Peter

There are a few tricks involved in deploying React on Internet Information Service.


Installing the rewrite module on Windows, configuring the IIS pool, selecting the port to run your React project on, copying the web.config, and setting up your project in an Index.html file are all necessary.

The steps to help you are as follows.
Now let's get going.

These two scripts should be added to the end of the body of your React project's Index.html in the public folder.

<script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script>


When the code is published for production, please alter the .development.js to .production.min.js.
On your project, run the build command.
npm run build

Copy the files from the build folder to your IIS target folder.
Add this web. config in the target folder under IIS.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
               <rule name="Static Assets" stopProcessing="true">
                    <match url="([\S]+[.](html|htm|svg|js|css|png|gif|jpg|jpeg))" />
                    <action type="Rewrite" url="/{R:1}"/>
                </rule>
                <rule name="ReactRouter Routes" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/index.html" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>


To make it work, you must install a rewrite module if you haven't it.
https://www.iis.net/downloads/microsoft/url-rewrite, choose your language, download, and install it.
Adjust the pool

Adjust your binds and default port.
Choose Bindings, and click on Edit.
Choose a Port for your React app to work.

Now, you must have your first React app on IIS working. Good lucky!



IIS 8.0 Hosting UK - HostForLIFE.eu :: Error Message 401.2: Unauthorized - Logon Failed Due To Server Configuration

clock March 7, 2024 06:40 by author Peter

Sometimes we receive this error message after publishing the solution in IIS. This mistake is very common.


Exact Error
Error message 401.2: Unauthorized The login failed due to server configuration. Check that you have authorization to browse this directory or page using the credentials you provided and the authentication methods enabled on the Web server. For further assistance, contact the web server administrator.

This problem is mostly caused by IIS's authentication settings.

Solution
Launch the IIS.

Choose the site where you are experiencing the problem.
Select Authentication. Setting as indicated.


Authentication choices can be updated based on your application's requirements.

In my case, the application needs to set windows authentication, therefore, I set it to enabled and Anonymous Authentication Disabled.



IIS 8.0 Hosting UK - HostForLIFE.eu :: Protect Static Files In ASP.NET Web Forms With The Help Of HTTP Handle

clock February 27, 2024 08:03 by author Peter

First, let me explain the problem I encountered in the web forms application (ASPX). I have a legacy web application that was created in ASP.NET and deployed on IIS 10. Static files (PDF, JS, CSS, JSON, and all forms of pictures (jpg, png, BMP, etc.)) are stored in a subfolder on the site called data, such as http://example.com/data/...When an unauthenticated person browses the files.

e.g.

http://example.com/data/image.gif or http://example.com/data/sample.css or http://example.com/data/sample.js).
It will display the files without authentication. In other words, the pages should only be accessible once the user is authorized.

IIS Default Behavior By default, the IIS web server routes ASP.NET resource requests to the ASP.NET runtime, but it handles static content requests directly. As a result, requests for static content are served without consideration for the URL authorization requirements specified in the ASP.NET application settings.

When I try to browse this issues regarding the same in internet , there are lot of things like enabling runAllManagedModulesForAllRequests="true" but nothings works out. Even though I am running my application in integrated mode in IIS.

Then I came to know about HTTPHandler. Below is the definition of HTTP Handler from Microsoft.

HTTP modules and HTTP handlers are an integral part of the ASP.NET architecture. While a request is being processed, each request is processed by multiple HTTP modules (for example, the authentication module and the session module) and is then processed by a single HTTP handler. After the handler has processed the request, the request flows back through the HTTP modules.

HTTPHandlers are used by ASP.NET web application server to handle specific requests based on extensions. HTTPHandlers run as processes in response to a request made to the ASP.NET website. It is a class that implements the System.
How to implement HTTPHandler to handle any incoming HTTP request with a path like .gif/.js/.css?

  • Create a class file — it could be FileProtectionHandler.cs
  • Let FileProtectionHandler class inherit from IhttpHandler Interface.
  • In FileProtectionHandler class, implement all the methods which are found in IhttpHandler Interface.

When a request comes, it will check whether it will be authenticated or not, if not it will redirect to login page otherwise will send the requested file based on the file extension.
using System;
using System.IO;
using System.Web;
namespace Example.UI {
    public class FileProtectionHandler: IHttpHandler {
        /// <summary>
        /// You will need to configure this handler in the Web.config file of your
        /// web and register it with IIS before being able to use it. For more information
        /// see the following link: https://go.microsoft.com/?linkid=8101007
        /// </summary>
        #region IHttpHandler Members
        public bool IsReusable {
            // Return false in case your Managed Handler cannot be reused for another request.
            // Usually this would be false in case you have some state information preserved per request.
            get {
                return true;
            }
        }
        public void ProcessRequest(HttpContext context) {
            //write your handler implementation here.
            if (!context.User.Identity.IsAuthenticated) {
                context.Response.Redirect("~/Login.aspx");
                return;
            } else {
                string requestedFile = context.Server.MapPath(context.Request.FilePath);
                SendContentTypeAndFile(context, requestedFile);
            }
        }
        private HttpContext SendContentTypeAndFile(HttpContext context, string strFile) {
            context.Response.ContentType = GetContentType(strFile);
            context.Response.TransmitFile(strFile);
            context.Response.End();
            return context;
        }
        private string GetContentType(string fileName) {
            string res = null;
            FileInfo fileInfo = new FileInfo(fileName);
            if (fileInfo.Exists) {
                switch (fileInfo.Extension.Remove(0, 1).ToLower()) {
                    case "pdf": {
                        res = "application/pdf";
                        break;
                    }
                    case "gif": {
                        res = "image/gif";
                        break;
                    }
                }
            }
            return res;
        }
        #endregion
    }
}

The next step is to register the HTTP handler in the Web.config file. Based on your IIS version, it should be added as a child of <system.web> or <system.webServer>. Refer here to register
<httpHandlers>
    <add path="*.gif" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
    <add path="*.png" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
    <add path="*.jpg" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
    <add path="*.js" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
    <add path="*.svg" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
    <add path="*.bmp" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
    <add path="*.json" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
    <add path="*.css" verb="*" type="MyProject.FileProtectionHandler" validate="false" />
</httpHandlers>


That’s all. Now HTTP Handler is ready
Once this configuration information has been specified in Web.config revisit the image file hosted via IIS from your browser. This time while processing the request for the image file IIS allows for the ASP.NET runtime to perform authentication and authorization logic. The ASP.NET runtime notes that the request is coming from an anonymous user and is for a URL that denies anonymous users. Therefore, the anonymous user is redirected to the login page, just like when visiting the image file served by the ASP.NET Development Server.



About HostForLIFE.eu

HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes.

We have offered the latest Windows 2016 Hosting, ASP.NET Core 2.2.1 Hosting, ASP.NET MVC 6 Hosting and SQL 2017 Hosting.


Tag cloud

Sign in