Win33 Upgrade Issues

dman

Perch
Hello,

I'm having a couple of issues with my sites on Win33 after the upgrade. Some are running ASP Classic and all VBScript errors are returning custom 404 pages. One of these sites is a dev site so it is helpful to be able to see the errors. I'm not seeing an option to set the 500 error page in the CP or other settings that would change how this works.

Is this something that is still being worked on after the upgrade or is there something I need to do? I submitted a ticket (ZDM-38791-180) but haven't heard back yet. Anyone else having these issues? Thanks!

Derek
 
We have enabled detailed error for the domains and now you can see detailed error for each of your websites and also you can defined custom error section in web.config and same will work.
 
For the record, I've also been having major issues with a client's ASP site on Win33, ever since the upgrade.

Main issue is that setting error documents in CP does not work (results in an error) and I can't set <httpErrors> in web.config either, as including that section causes an error. The site requires custom 404 & 405 handling to function correctly.

I have had to get support to manually implement 404 handling - except that, whenever they do something else to the site (eg. enable detailed ASP error messages), I lose the 404 handling and site goes down again. :( This has been going on for about 4 days and several tickets (eg. GMP-47067-205 which took over 12 hours to resolve).
 
By default you can not define httperror section in web.config, as this is restricted due to IIS security policy. However we can allow this section at application level and after that you will able to use httperror section in your web.config. Can you please let us know, all sites name for which you are not able to configure httperror using web.config. We will check and allow needed rights to them.
 
I think this is resolved by Pratik last night after you have mailed on helpline.
 
I'm having the same issues with the web.config file httpErrors causing an error. Should I update my ticket referenced above or PM the domains that need this set at the application level? Thanks!
 
Hi dman, support was able to unlock that section for me, once I realised what the issue was. Not sure if they needed authority from above first, but give them a try. Just open a new ticket asking to unlock the <httpErrors> section so you can control it at the site level.
 
Hi dman, support was able to unlock that section for me, once I realised what the issue was. Not sure if they needed authority from above first, but give them a try. Just open a new ticket asking to unlock the <httpErrors> section so you can control it at the site level.


Thanks for the info Antic! I kept trying to get the <httpErrors> to work but I get an internal server error. I was reading that this might be due to GetLastError handing in IIS 7 so I thought I might have to modify my custom error page. My sites are still not handling errors well. Is this the same issue you were having?
 
Depends exactly what problem(s) you're having, but in my case, it was a matter of IIS's ApplicationHost.config (config at the application level) needing an entry added to allow <httpErrors> to be overridden at the web site level, in web.config.

By default, certain sections in web.config are locked, for security reasons. The two I know of at the moment are <httpErrors> and <asp>. There may be others, not sure.

Unfortunately, the "error message" that results from having a locked section in your web.config isn't very helpful. :)
 
Thanks again Antic for the additional details! I'm still confused if this is the GetLastError issue. The error message is not very helpful on only shows "...internal server error".

Can you give me an example of a <httpErrors> web.config block that is working for you on Win33? Are you using a path or redirectMode? Your help is much appreciated!
 
A helpful tip! Once you have a working web.config SAVE IT. Before you add any new segment or errors, mae a copy of it, or rename it web.configold1/2/3/4 etc, then upload your new web.config that way you can test if an error comes on the new config, and roll it back if there is easily. Since IIS 7.5 allows a high level of web.config control, but errors can be lacking, you may then wany to submit a ticket and say something like 'please rename the web.config that is working now to web.configgood, and test the config with web.configbad for me, and give any errors you may see, or it may just need to allow override of the errors section, please check'

Something like that will allow you to be up and running, but communicate fully to us the issue, and allow us to test for the error without your site remaining down.
 
Antic, those are some good links for sure which I hadn't seen in my searches yet. I tried at least one of the suggested configs previously but nothing worked. I also tried the suggestion from your links and none work. Every change I've made to the web.config either:

  • Returns an error: "The page cannot be displayed because an internal server error has occurred." with no error code.
  • It returns the IIS 7 default error page: Server Error500 - Internal server error.There is a problem with the resource you are looking for, and it cannot be displayed.
  • Or it t sends me to the 404 page even if there if there is an ASP error.

Really hard to determine what is going on. Below is one web.config I tried unsuccessfully:

Code:
<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed"/>
        <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

The element
Code:
<asp scriptErrorSentToBrowser="true"/>
causes the whole site to crash and returns the 1st error above: "The page cannot be displayed because an internal server error has occurred.".

Removing the elements below actually appears to return my custom error page but the reason for the failure is not showing up because GetLastError is commented out on the custom error page. If I uncomment GetLastError, it get the 404 page instead.
Code:
<httpErrors errorMode="Detailed"/>
        <asp scriptErrorSentToBrowser="true"/>

Does someone have a working version of a web.config file that uses a custom error page and shows classic ASP errors using GetLastError in the custom page?

Stephen, yes indeed, I will make sure to create backups anytime I change a working web.config file and have some versions for troubleshooting with support.
 
What I suggest is to simplify the problem.

Create a small script - 1 line only - which intentionally causes an error. Eg.
Code:
<% x = 1 / 0 ' This will cause an error %>

Then open a support ticket, pointing them to that script (eg. http://yourdomain.com/testerror.asp) and tell them to make the necessary adjustments to web.config so that it shows the ASP error details.

Once that's done, you now have a working web.config which shows proper ASP errors. Save that to one side.

Then create another small script - 1 line only - which is your custom error page. eg:
Code:
<% Response.Write "Custom Error Page Here!" %>
Then open another support ticket. Include a link as before to your error page (eg. http://yourdomain.com/testerror.asp) and ask them to set web.config so that the error gets transferred to that custom error page, as an *execute* not a redirect.

Once that's working, that should give you the basic functionality you want. That is, when you run http://yourdomain.com/testerror.asp, you should see the message "Custom Error Page Here!" appear, without the URL changing.

Final step: Replace the line Response.Write "Custom Error Page Here!" with Response.Write "Error = " & Server.GetLastError()

See if that works. Note that, as it says in the article below, you can only use GetLastError if no content has yet been sent to the browser:
http://www.w3schools.com/asp/met_getlasterror.asp
 
Hey Antic,

Serious thanks for your time and help! I actually created the test error page and the custom error page then submitted these in a support ticket previously. It looks like Jodo made some changes now to the web.config file (Thank you Shubham). It's working better on one site and I think I can use GetLastError as well now.

Below is the basic custom error web.config that appears to be working if anyone else needs it. I did try something similar before but it may not have been working because they needed to adjust the errors at the application level in IIS.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Custom">
            <remove statusCode="500" subStatusCode="-1" />
            <remove statusCode="405" subStatusCode="-1" />
            <remove statusCode="404" subStatusCode="-1" />
            <remove statusCode="403" subStatusCode="-1" />
            <remove statusCode="401" subStatusCode="-1" />
            <error statusCode="500" subStatusCode="100" path="/errorpage.asp" responseMode="ExecuteURL" />
            <error statusCode="401" path="/errorpage.asp" responseMode="ExecuteURL" />
            <error statusCode="403" path="/errorpage.asp" responseMode="ExecuteURL" />
            <error statusCode="404" path="/errorpage.asp" responseMode="ExecuteURL" />
            <error statusCode="405" path="/errorpage.asp" responseMode="ExecuteURL" />
            <error statusCode="500" path="/errorpage.asp" responseMode="ExecuteURL" />
        </httpErrors>
    </system.webServer>
</configuration>

Thanks again to Antic and Shubham for helping me get this done!
 
So I just found out that the SSL cert is not working on one of the migrated sites. Not good and I'm not sure this could be migrated! How do I go about fixing this quickly?
 
Back
Top