2

I can't get my ASP .NET web app running on my new AWS EC2 VM Windows Server 2016. Web app has been running on Azure VM Windows Server 2012 R2 for years.

THE PROBLEM:
I get:

"ERROR 404 - File or directory not found"

..when I try to browse from external Internet, or on the server itself, to my ASP.NET web app hosted on Windows Server 2016 IIS on a new AWS EC2 VM. Same error if I browse from IIS > Sites > my web site > Manage Website > Browse

When I remove and re-add web site, I get this error (also see screen shot below):

IIS > Add Website > Test Connection > yellow warning sign Cannot verify access to path(path to my web app project)

ATTEMPTS TO FIX...
IIS > Connections > my_web_site > browse doesn't work: "The webpage cannot be found"
IIS > Connections > my_web_site > Manage Website > browse cmd gets Server Error 404 file or dir not found
IIS > Connections > my_web_site > Edit Bindings > browse gets Server Error 404 file or dir not found

I tried deleting IIS > Sites > my web site and then re-adding it. Still get error 404.

BACKGROUND...
ASP.NET works ok on previous Azure VM Windows Server 2012 R2.
ASP.NET app runs ok when I debug it from Visual Studio on new AWS VM.
All IIS bindings set up just like on previous Azure VM.

THE ERROR...
enter image description here

WEB APP'S IIS PROPERTIES...………. enter image description here

IIS LOGS in C:\inetpub\logs\LogFiles\

There are 3 subfolders:

W3SVC1\ which contains a file with this.....

 #Software: Microsoft Internet Information Services 10.0 #Version: 1.0 #Date: 2019-01-12 15:02:21 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken 2019-01-12 15:02:21 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 78 #Software: Microsoft Internet Information Services 10.0 #Version: 1.0 #Date: 2019-01-12 15:54:19 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken 2019-01-12 15:54:19 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 156 #Software: Microsoft Internet Information Services 10.0 #Version: 1.0 #Date: 2019-01-12 17:37:36 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken 2019-01-12 17:37:36 172.31.37.156 GET /wp-login.php - 80 - 185.234.217.208 Mozilla/4.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+125LA;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.5.21022) http://prayshep.com/wp-login.php 404 0 2 171 2019-01-12 17:37:36 172.31.37.156 GET /wp-login.php - 80 - 185.234.217.208 Mozilla/4.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+125LA;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.5.21022) http://prayshep.com/wp-login.php 404 0 2 125 2019-01-12 17:48:43 172.31.37.156 GET /Default.aspx - 80 - 73.70.70.121 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/64.0.3282.140+Safari/537.36+Edge/17.17134 - 404 3 50 93 #Software: Microsoft Internet Information Services 10.0 #Version: 1.0 #Date: 2019-01-12 23:31:12 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken 2019-01-12 23:31:12 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 46 2019-01-12 23:31:13 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 31 2019-01-12 23:34:18 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 15 2019-01-12 23:38:39 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 31 

W3SVC2\ which contains a file with this.....

#Software: Microsoft Internet Information Services 10.0 #Version: 1.0 #Date: 2019-01-12 22:11:19 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken 2019-01-12 22:11:19 172.31.37.156 GET / - 80 - 52.53.201.78 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_12_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/61.0.3163.100+Safari/537.36 - 404 3 50 109 #Software: Microsoft Internet Information Services 10.0 #Version: 1.0 #Date: 2019-01-12 23:39:21 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken 2019-01-12 23:39:21 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 78 2019-01-12 23:40:11 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 15 2019-01-12 23:43:17 172.31.37.156 GET / - 80 - 73.70.70.121 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/64.0.3282.140+Safari/537.36+Edge/17.17134 - 404 3 50 78 

W3SVC3\ which contains a file with this.....

 #Software: Microsoft Internet Information Services 10.0 #Version: 1.0 #Date: 2019-01-12 23:32:18 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken 2019-01-12 23:32:18 ::1 GET / - 80 - ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 109 

IIS > Connections > my web site > Default Document enter image description here

Directory of my ASP .NET web app

IIS > Add Website > Test Connection enter image description here

5
  • 1
    Your domain seems to be pointed to the correct server and IIS is responing to your initial requests. The 404 error you're getting is generated by IIS. Did you check the default document setting for the web app? It should match with your app default document, eg. default.aspx. Also make sure you're running the correct version of the .NET framework intended for your web app. Try removing the binding and browse from the server itself(through the IIS console) to see if the application opens. Commented Jan 13, 2019 at 1:23
  • 1
    Default document for my ASP .net web app is set in IIS to "Default.aspx". Commented Jan 22, 2019 at 14:33
  • 1
    How do I check .NET framework version? What is the correct version? I opened the Visual Studio > Web app's properties > Build and it was framework 4 so I set it to 4.6.1 but it still has the problem. Commented Jan 22, 2019 at 14:42
  • 1
    IIS won't let me remove the last binding in web app > Edit Bindings Commented Jan 22, 2019 at 14:43
  • 1
    jbud: How do I remove "binding and browse"? Commented Jan 22, 2019 at 14:56

2 Answers 2

2

Your domain seems to be pointed to the correct server and IIS is responing to your initial requests. The 404 error you're getting is generated by IIS.

Did you check the default document setting for the web app? It should match with your app default document, eg. default.aspx. Confirm that you're referring to the correct page which is your landing page in your Default document settings.

Also make sure you're running the correct version of the .NET framework intended for your web app. .NET Framework version can be updated from the Application Pools page in IIS.

Try removing the host name from binding and browse from the server itself(through the IIS console) to see if the application opens. In this case you'll only bind to the IP addresses available on the machine, with a blank host name. You will need to enter the IP in your browser when browsing from the public side.

Check your web.config(in your web app folder) configuration, sometimes these add additional configuration to IIS and cause unnecessary frustrations. If there's nothing of value in the web.config, try deleting the file from the web app folder and try again.

Other troubleshooting steps involve removing the entire app and just put in a basic index.html page in your web app folder. Update your default document settings to refer to this new page. Browse from IIS again.

3
  • jbud: Yes, default set to Default.aspx for my ASP .NET web app site. I cannot remove host name from bindings, because IIS doesn't allow remove of last binding. I will try adding new, empty asp.net web site (very good idea). Commented Jan 26, 2019 at 18:10
  • I mean set the host name to blank in the last binding, which is normally http port 80 I believe. This way you'll be able to browse the site from IIS with the IP address. Commented Jan 27, 2019 at 1:29
  • IIS on Windows Server 2016 does not accept blank host name in "Add Site Binding". Commented Feb 24, 2019 at 17:51
0

Looking at your IIS seems asp.net installation is not completed. Go to windows feature install asp.net under IIS roles. After installation you will see ASP.net configuration in your IIS.

That's the reason IIS could not read your file.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.