3

For a pet project I'm attempting to spin up a VM on Azure that can run as my webserver, providing an Umbraco powered site, as well as some other web applications (such as a forum + planner) that require PHP. Now I've followed the steps of every guide out there, but I cannot get an external connection through to the VM's IIS and I can't find out why.

I'm hoping someone else has been through the pain that I'm currently experiencing and might point me in the direction of whatever setting I'm missing.

  1. Spun up the VM with Server 2012 R2.
  2. Configured it to run IIS.
  3. Installed Umbraco, disabling the default web site and setting the Umbraco site as my default on port 80.
  4. Checked that http://localhost maps to Umbraco - this works.

So after I had it running internally, I started tackling the external connection setup.

  1. Navigated to the Network Security group, and added the inbound Http rule on Port 80.
  2. Disabled Windows Firewall entirely for the sake of testing.
  3. Added a custom dns name to the front of the xxx.[azurecloudappurl].com

Now my requests resolve but then timeout and I can't see why or where? Has anyone else experienced this? Every guide states that it should be as easy as this.

AJ McK
  • 215
  • 3
  • 11
  • Does it work without the custom DNS name? Not really the answer, but why do you want a VM, try azure websites – Erik Oppedijk Jan 14 '16 at 15:04
  • Hi, Yeah, I tried just going to the public IP and I have the same issue. I need a VM in order to have Umbraco + Vanilla Forums + other php tools all on the same machine. I can't achieve this with Azure WebApps (if it was just an Umbraco site I could easily just spin it up from the marketplace app). – AJ McK Jan 14 '16 at 15:16

2 Answers2

3

As you can visit localhost on your VM env, so it seems there is no problem with your env on VM.

Have you added the endpoint with 80 port of your VM server on Azure manage portal? As by default, the endpoint with 80 port is not opened.

You can refer to How to set up endpoints on a classic Azure virtual machine for how to add an endpoint on Azure VM.

Gary Liu
  • 13,758
  • 1
  • 17
  • 32
  • When I navigated to the old portal or on classic Azure VM those listings were empty. This VM was under a resource group and following MS documentation, endpoints are handled by Network Security Groups now. On said group I did open up both port 80 and 443. – AJ McK Jan 20 '16 at 16:16
  • I think you can follow this article [Troubleshoot Access to an Application Running on an Azure Virtual Machine](https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-troubleshoot-access-application/), start with step 2. Any further concern, please feel free to let me know. – Gary Liu Jan 21 '16 at 02:14
1

In addition to @Gary Liu's answer if you are doing it on Azure Portal(and not on classic one).

For any new VM added through Azure exists a Network Security Group (NSG). Ports need to be opened in order to make them accessible from outside the VM. Specifically to allow your VM to serve requests coming to port 80 you need to enable HTTP port in Network Security Group. Here are the steps:

  1. Search for VM Name on Azure portal.
  2. Select the VM by Clicking on VM Name.
  3. Click on Network Interfaces from left menu and select(double click) the listed one. This will show overview of Network Interface.
  4. Now click on Network Security Group.
  5. Click on Inbound Rules.
  6. Add new rule selecting service as HTTP(TCP/80).

enter image description here

Voila done!

And here is the answer to manage an inbound rule

Language Lassi
  • 2,520
  • 21
  • 24