Sad Tux - Windows bias detected
This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Detected Bias Types
windows_first
powershell_heavy
windows_tools
missing_linux_example
Summary
The documentation demonstrates a clear Windows bias: it exclusively uses Windows Server as the backend VM OS, provides only PowerShell commands for configuration (specifically for installing IIS), and all hosts file editing and DNS cache instructions are given for Windows. There are no examples or instructions for deploying Linux VMs, using Linux-native web servers (e.g., Apache, Nginx), or editing hosts files and flushing DNS on Linux/macOS systems.
Recommendations
  • Provide parallel instructions for creating Linux-based backend VMs (e.g., Ubuntu), including steps for installing a web server such as Apache or Nginx.
  • Include Bash/Azure CLI commands for Linux VM configuration and web server installation, alongside the PowerShell examples.
  • Add instructions for editing the /etc/hosts file on Linux/macOS, and explain how to flush the DNS cache on those systems (e.g., using 'sudo systemd-resolve --flush-caches' or 'sudo dscacheutil -flushcache').
  • Clarify that Application Gateway supports both Windows and Linux backend servers, and provide guidance for both.
  • Where possible, use cross-platform Azure CLI examples instead of (or in addition to) PowerShell.
  • Update screenshots and sample commands to show both Windows and Linux environments where relevant.
GitHub Create Pull Request

Scan History

Date Scan Status Result
2025-07-12 23:44 #41 cancelled Biased Biased
2025-07-12 00:58 #8 cancelled Clean Clean
2025-07-10 05:06 #7 processing Clean Clean
2025-07-09 23:22 #6 cancelled Clean Clean

Flagged Code Snippets

3. Create a second virtual machine and install IIS using the steps that you previously completed. Use *fabrikamVM* for the virtual machine name and for the **VMName** setting of the **Set-AzVMExtension** cmdlet.

### Add backend servers to backend pools

1. Select **All resources**, and then select **myAppGateway**.

2. Select **Backend pools** from the left menu.

3. Select **contosoPool**.

4. Under **Target type**, select **Virtual machine** from the drop-down list.

5. Under **Target**, select the **contosoVM** virtual machine's network interface from the drop-down list.

    ![Add backend servers](./media/create-multiple-sites-portal/edit-backend-pool.png)

6. Select **Save**.
7. Repeat to add the *fabrikamVM* and interface to the *fabrikamPool*.

Wait for the deployment to complete before proceeding to the next step.

## Edit your hosts file for name resolution

After the application gateway is created with its public IP address, you can get the IP address, and use it to edit your hosts file to resolve `www.contoso.com` and `www.fabrikam.com`. In a production environment, you could create a `CNAME` in DNS for name resolution.

1. Select **All resources**, and then select **myAGPublicIPAddress**.

    ![Record application gateway DNS address](./media/create-multiple-sites-portal/public-ip.png)

2. Copy the IP address and use it as the value for new entries your `hosts` file.
1. On your local machine, open an administrative command prompt, and navigate to `c:\Windows\System32\drivers\etc`.
1. Open the `hosts` file, and add the following entries, where `x.x.x.x` is the application gateway's public IP address:
   
1. Save the file.
1. Run the following commands to load and display the changes to your hosts file:
   
3. Create a second virtual machine and install IIS using the steps that you previously completed. Use *fabrikamVM* for the virtual machine name and for the **VMName** setting of the **Set-AzVMExtension** cmdlet.

### Add backend servers to backend pools

1. Select **All resources**, and then select **myAppGateway**.

2. Select **Backend pools** from the left menu.

3. Select **contosoPool**.

4. Under **Target type**, select **Virtual machine** from the drop-down list.

5. Under **Target**, select the **contosoVM** virtual machine's network interface from the drop-down list.

    ![Add backend servers](./media/create-multiple-sites-portal/edit-backend-pool.png)

6. Select **Save**.
7. Repeat to add the *fabrikamVM* and interface to the *fabrikamPool*.

Wait for the deployment to complete before proceeding to the next step.

## Edit your hosts file for name resolution

After the application gateway is created with its public IP address, you can get the IP address, and use it to edit your hosts file to resolve `www.contoso.com` and `www.fabrikam.com`. In a production environment, you could create a `CNAME` in DNS for name resolution.

1. Select **All resources**, and then select **myAGPublicIPAddress**.

    ![Record application gateway DNS address](./media/create-multiple-sites-portal/public-ip.png)

2. Copy the IP address and use it as the value for new entries your `hosts` file.
1. On your local machine, open an administrative command prompt, and navigate to `c:\Windows\System32\drivers\etc`.
1. Open the `hosts` file, and add the following entries, where `x.x.x.x` is the application gateway's public IP address:
   
1. Save the file.
1. Run the following commands to load and display the changes to your hosts file: