When I attempt to update the code on a IIS webserver by replacing the old code with my new code, I receive 503 Service Unavailable replys when attempting to access any of the replaced pages on the server.
What is the cause of this failure and what steps can I take to correct such errors?
Thanks!
I would do a few things:
Check the windows event logs for any web related errors.
Check the IIS logs to see if there is anything odd with the requests.
Double check the permissions of all the new files, make sure they match the files that do work.
Perform an IISReset after you deployed.
Make sure your virtual directory, or sub folders are set up correctly in IIS and didn't change in the deployment.
If the associated ApplicationPool is disabled you also get the 'Service Unavailable' exception. (can be seen in the logs)
Re this answer, I seem to remember having a problem like this, and it turned out that it was because I was updating the files via ftp, and the there was some conflict between the rights of the FTP user and the IIS user.
I have spent hours looking for solution for Service Unavailable, 503 on IIS in Windows 2012 Server. In the end it helps to restart the server and everything works. Restart the IIS was not enough.
It is not the first time the restart help, the same issue was with FTP server on Windows 2012 Server.
Could be lots of things. Did you try iisreset after updating the pages?
I agree with Eugene. It could be lots of things. If you publish locally, can your local IIS run the pages?
You probably need to get together with whomever has access to the server to look at the errors. Short of that, can you try putting the old code back to see if it still works? If not, it's likely a configuration error.
Also, editing the web.config will get the application restarted. It's a useful trick when you can't access IIS.
Related
I have application hosting on IIS server. I was told to remove "OPTIONSVerbHandler" and "TRACEVerbHandler" from the IIS as a security measure. I just wanted to confirm that Does removal of "OPTIONSVerbHandler" and "TRACEVerbHandler" kill the website on iis? Also when i checked IIS handler mapping i couldn't find "TRACEVerbHandler" instead i found "TraceHandler-Integrated". so is this the one that i am looking for?
Thanks in advance.
Removing OPTIONSVerbHandler might cause a problem if you have CORS setup. Removing TRACEVerbHandler won't hurt anything, it will just disable tracing from working. And yes you want to remove TraceHandler-Integrated too, and TraceHandler-Integrated-4.0 as well in case it's installed on the server.
I have a window 2003 server running exchange 2003 on IIS 6. Everything worked until I installed Tomcat/Railo on the server.
After the Tomcat install I am unable to reach the exchange server on the OWA. I understand that Tomcat is processing the servlets for railo but I am not sure how it is effecting OWA and how to fix it.
Since this has been running so long I am not sure where the files are to reinstall OWA are.
When I hit the exchange OWA site it does ask me to login but then IIS give me a 404 error
I obviously need to get this up and running since every in the company uses the OWA help!
Added info:
I have added a new virtual directory to the default website that contains an image. I can hit this with no problem so it appears that what is no longer working are the virutal directories originally added by the install.
/exchadmin \\.\backofficeStorage
/exchange \\.\backofficeStaorage
/exchweb C:\Program Files\Exchsrvr\ExchWeb
etc
These also appear to be ASP.NET related pages. Is it possible that installing railo/Tomcat messed up the asp processing for this site?
I suspect that both IIS and Tomcat are trying to listen on Port 80, only one can bind at a time. If you look in IIS you may find your default website is stopped.
#Gavin Totall put me on the right track for this. What ever happened during the Tomcat install hosed all of the application pool settings for the default site I found this page
http://support.microsoft.com/?id=883380
on how to reset all the default OWA virtual directorys and everything started working again. Hopefully this post will save someone the hours I spent on this. Thanks again #Gavin
I request a page in Sitecore and I get a 404 from IIS. The site works on my development environment & staging. This is on the production machine, which is a new install. I've never actually seen it work. The fact that it's giving me an IIS 404 (instead of a Sitecore 404) seems to indicate that whatever handler Sitecore uses isn't being recognized or isn't set up properly. I'd appreciate any suggestions about where to begin looking or what the issue might be.
We're in II7 running in classic mode.
I have the same issues if I run Sitecore in classic mode. Why don't you try running in Integrated mode, for all handlers to work propperly? Your Sitecore login page works, so that indicates that you have unzipped the Sitecore folder corretly. I'd suggest you to try Integrated mode.
It sounds like a permissions issue, check that Network Service (or Application Pool Identity) has the correct access to all of the Sitecore folders.
This looks like a fairly good guide on this:
Sitecore folder & IIS permissions
You could also try exporting the IIS setup for production and staging and comparing the two to make sure nothing odd with the setup.
Have you tried running the installer? If you are cleaning up someone else's install, there's no telling what they did... far easier to start again. You can easily connect to an existing database, or install a package with all your content once you've got a good working Sitecore instance.
So I have all the updated code, the entire solution builds. It works on everyone else's machine, however when I try and access localhost/extranet on my machine, it gives me this error:
HTTP Error 403.14 - Forbidden
Detail Error Info:
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler 0x00000000
Requested URL http://localhost:80/extranet/
Physical Path C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\
Logon Method Anonymous
Logon User Anonymous
Now I tried going into IIS7, and enabling directory browsing, this removed the error, but still didn't bring up my website. I also tried going in and disabling the default document, re-enabling it, everything, nothing worked. I've also restarted IIS a few times to no avail.
Any ideas?
It sounds like your IIS is not processing the routing rules for your application and is trying to find a default.aspx, index.htm, etc. Since it cannot, it is wanting to display the directory listings (which is why you were getting the 404.14).
I just checked my dev setup and I think that your AppPool has to be set on Integrated as opposed to Classic on the Managed Pipeline for the AppPool. I have ran into this before, there may be ways to use the Classic Pipeline, but this would/should be the quickest way to resolve your issue. To check/change the pipeline mode, click on Application Pools from the menu on the left side of IIS, find your AppPool and look in the managed pipeline column. If it is set to Classic -> Right click the AppPool, choose basic settings, then change the dropdown from Classic to Integrated.
If I am incorrect, someone please feel free to correct me on this in the comments.
Edit - Just to add, you can run an MVC app in the Classic Pipeline mode, but you have to do the IIS 6 tricks to get it to work properly. Mainly, you need to turn on wildcard script mapping for MVC to work in Classic mode, If not it expects an .aspx file (or similar) to exist for it to handle the execution pipeline over to .NET from IIS.
Causes this error is removed Global.asax file from your root directory of your site.
To solve this problem add a Global.asax file to your project.
See here: How to add Global.asax file to ASP.NET MVC4 project
In IIS, you need to find out which app pool your application is running from. Just right click the web application under Sites>Manage Web Site>Advanced Settings. The first property should be the app pool.
Now, click Application Pools. You should see a column called "Identity". Add that user to the ACL of the C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\ directory. If it just says 'ApplicationPoolIdentity', it can be a little tricky figuring out the user. If it's just running under DefaultAppPool, you can use IIS AppPool\DefaultAppPool.
My solution was because I didn't have ASP.NET installed via "Turn Windows Features on and Off" so it was simple. I figured it out by enabling directory browser and trying to go to my views folder which then gave a more descriptive answer and pretty much said that there was a problem with a module because ASP.NET is not properly installed. It then dawned on my to go and install it.
Change the 'start page' by right click on the page and select 'Set as Start Page' that you want to open first when the web application starts first. This might solve your problem. :)
Also make sure in IIS Application Pool settings that Enabled 32-bit Applications under Advanced Settings is set to FALSE. I spent hours trying to fix this and that was my issue. Windows Server 2012 IIS 8.5
I solved this problem by setting exact .net framework. My website was using v4.0 version of .net.
Workaround to handle the problem:
Open command line as an administrator
Go to directory "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
Execute the following: aspnet_regiis.exe -i
Open IIS and change Pipeline Mode of Your application to Integrated
Hope this helps
In my case the HTTP Redirection feature was missing on the server (with IIS 10).
Adding the feature resolved the issue and the site started to load fine.
I have created one test.aspx and my local machine it is working fine. Once I upload the same to server the page is not working. It's showing
500 - Internal server error. There is a problem with the resource you
are looking for, and it cannot be displayed.
It is impossible to help you without getting more info about the IIS configuration on your local machine and the server.
However, here's a quick stab of some things you should look at:
Check if Asp.net is installed on the server.
Make sure your app is targeting the proper .Net version that is on the server.
Check if all the assemblies your code is using are deployed correctly on the IIS server.
Add some exception handling and error logging to your code.
In particular, I'd venture to make a wild guess that your page is using some code that requires the IIS7 integrated pipeline and your server is either running IIS6 or is running IIS7 in classic mode. Though this is a stab in the dark and could turn out to be completely wrong. :-)
500 server errors are as useful as saying 'something broke'. They are the result of literally any exception you code throws plus anything else IIS croaks on. From your error msg, it sounds like an IIS config issue but it could still be your code. attaching a debugger to it would eliminate that possibility.
If you haven't looked at the server event log you can see if it registered anything.
There are a number of things that you can do to try to get a better, more specific exception. One way I try to diagnose them is to connect a remote debugger so I can see what's going on. If you have access to do so, I'd go that route.
You will need admin access to the server to install the Visual Studio remote debugging client (I'm assuming this is a .net app).
Another thing that can help are try/catch blocks and logging to a file or the event log--but have have to change your app most likely to implement that.
You have probably forgotten to upload the associated .dll. Have you tried right clicking on the project and using the publish feature?
If you are using IE, then you also need to turn off the "Show friendly error messages" option in Tools - Options - Advanced settings so that you get more details.
You may also need to change the web.config file so that error message details are shown, see the CustomErrors tag.