Cannot view IIS hosted website using public IP address - azure

I have a server hosted on Azure. I have installed IIS on this server. I have created a basic website. I am able to see the website when i use localhost or the private IP address. I am not able to see the website when I use the public IP address provided by Azure. I have not configured this server in any other way, other than to ensure that port 80 is open in the firewall. Any ideas why can't view the website from the public IP address or a different machine?
Thank You

Any ideas why can't view the website from the public IP address or a
different machine?
If you create your VM in ARM module, We should open the port 80 on NSG(add port 80 to inbound rules), and open the port 80 on windows firewall. More information about NSG, refer to the link.
If you create your VM in ASM module, we should open the endpoint 80 on the old portal. More information about endpoint, refer to the link.

Related

Access IIS https website from outside network

Currently I have a https website setup locally on the Azure VM
with a custom hostname : <websitename>.<domainname>.com and bound to the localhost 127.0.0.2
in the hosts.etc on port 443
Consider example hostname as web.microsoft.com
Website bindings in IIS are
type:https
hostname:web.microsoft.com
port:443
IP Address:127.0.0.2
Hosts.etc
127.0.0.2 web.microsoft.com
In order to access it locally on the VM itself https://web.microsoft.com/admin/login.aspx works fine.
Port 443 is open on the Azure VM and inbound firewall rule is set in windows to allow connections on 443
If I try to access it outside of the network using the public IP address this doesn't work
eg https://45.60.200.110/admin/login.aspx.
I have other non-https websites which work fine and can be accessed through the public IP ,only difference is they are not having hostname in the IIS website bindings.
Am I missing something or do I need to make some additional config?
That's the problem.
The customized hostname cannot be accessed through the external network. Because the public network does not know this hostname, nor does it bind the hostname to your IP.
For example, you can enter other custom host names at will in the browser, and you will find the same error displayed.
The solution is that you need to purchase an available public domain name from the domain name provider and bind it to IP address.
If you insist on using custom domain name, it can only be used on the internal network. In addition to the configuration made on the server side, it is also need to add the host name and IP address in the hosts file of the client machine.
45.60.200.110 web.microsoft.com

Cannot access Qliksense url outside Azure Vnet

I am new to Qliksense and Azure. We have installed Qliksense in Azure Virtual machine. Trying to access the Qliksense hub/QMC URL (https://xxx.intranet.myclient.com/hub) from the internet/outside the azure Network, but was unsuccessful. The url is working well in the intranet.
Azure VM has a private ip address.
Created inbound rules in NSG(Network Security group) at Azure to open ports 443,80, 4244.
2.Created firewall inbound rule in VM server to open ports 80, 443, 4244, 4243, 4248, 4242
Added the url to the host white list at the virtual proxy side in Qlik QMC
May I know what wrong am doing or what I am missing here?
Firstly, If you want to access qlik url to work from the internet, you need a public IP address attached to the Azure VM or load balancer service like Azure application gateway in front of Azure VM with a public IP address. Refer to this. If you have no public IP address, you can directly deploy one and attach to the VM network interface on the Azure portal. Try to restart the Azure VM or refresh VM.
Then, make sure you have a DNS map which is pointing FQDN xxx.intranet.myclient.com to your VM public IP address. You can try to access the Qliksense hub/QMC URL like https://PublicIPaddress/hub first.
Also, you can run the command netstat -anbo as the administrator in the CMD to check if the port is listening on Qliksense service. Try to telnet or Test-NetConnection the Qliksense URL before you access the Qliksense URL on the remote machine.
If the above all are no effect, you can look at this. Let me know if this works.

Access azure app service with ip address not the hostname

I've got a app plan (BASIC SMALL) with a private (hopefully) ip adress that can be found under Settings > Custom Domains.
When I try to access the content of the app using just the ip, it doesn't work. The site says "Error 404 - Web app not found." The hostname works just fine. When I ping the hostname it gives me the same ip adress. What do I have to do in order to be able to access it just using the ip?
That's not how Web Apps work, since you don't get a unique IP address assigned. You'll need to access it via yourname.azurewebsites.net or yourcustomdomainname.com - and then your requests are routed appropriately based on the name you provide.
If you absolutely needed a dedicated IP address, you'd need to deploy to a virtual machine.
When you host your web site on Azure web app it is bound to a virtual IP address that is shared with other web sites in the same app service plan. If you want to get a dedicated IP with your web site, please try to use Azure virtual machine with reserved IP. You could also choose App Service Environment
If you buy your custom domain, you can freely set DNS A records for that IP (it remains static). It sets binding of your domain to your web app. You can't access it directly by IP. Because on a given IP address and standard HTTP port 80, only one web can be running.
Imagine your web app could be open by entering that IP. You would "block" port 80 for zillions of other stuff running there.
If you check Properties blade there you will see a number of outbound IP addresses. If you consume some requests from web app / job / ... and have IP restriction set on the other side - you need to allow all these IPs.
As David suggested. If you really need a static IP - you need to run VM and set IP address as static or set VNet for web app.

How to configure a custom domain name for web app running on port 80 in non-classic azure virtual machine

I created a NodeJs web on non-classic virtual machine in Azure cloud. Then I started the app on port 80 as follows:
sudo NODE_ENV=production PORT=80 node server/app.js
The app started successfully. I also enabled port 80 using NSG.
I can access the app using IP address.
Now I purchased a domain name in names.co.uk and linked the IP address to record A(on registrar site). The same way as I was doing for the AWS site which is currently working.
But I could not access the app using custom domain name but app can be accessed directly using IP address.
Any help in this regard will be much appreciated.
you can try to follow this guide on official site Create a Fully Qualified Domain Name in the Azure portal, configure with the CName on your DNS service leveraging the Domain. It works fine on my side.
Besides, if you don't see the "public ip address" as the capture shows on the guide, you can find the ip address in this steps:
As if you don't have a static ip address, the public ip may change when your VM start each time.
The way I did is absolutely correct. The only problem was that it took some time to get the changes reflected.

Why isn't the public IP address contactable

I just spun up a VM on Azure, then set up IIS with the usual defaults, and the usual default website.
When logged on to the server (2008 R2) with Remote Desktop, I can enter in the public or internal IP address and see the default IIS 7 website.
However, from outside, the website is not contactable.
When I look at the bindings in IIS, it shows the internal address, but not the external IP address.
Is there something else I need to do to make the external IP address work?
Greg
Spinning up an VM does not make it public accessable. Your VM is linked to a cloudservice which acts as a loadbalancer (for 1..x VM's).
In the cloudservice you can configure which public ports are available and passed through to your VM's.
So in the cloudservice you have to configure that it will pass port 80 (or 443) to your VM's.

Resources