RE: apache adds extra HTML to an error page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






From: rdozijn@xxxxxxxxxxx
To: users@xxxxxxxxxxxxxxxx
Date: Mon, 9 Jul 2012 17:04:07 +0200
Subject: apache adds extra HTML to an error page

hello list,

I am trying to migrate a perl script that acts as a webserver from solaris to linux (red hat). The script is run using apache (httpd) and mod_perl.

It nearly does what it is supposed to, exept for the error pages.
When an error occurs and the script can not fulfill the request, it sends a small error page to the user, containing two p elements, together with status 500.

This used to work OK, but on the new machine, apache decides to add extra text to the page. The receiving application sees a page that does not conform to the specification and thinks it is not an error page. This results in various problems.

I have not the slightest idea in what direction I have to search. Is it an apache configuration issue or maybe a perl library issue? I really don't know.
Can you guys give me some clue?

This is the perl code that makes the error page:

    print $cgi->header (  -status => '500 NOT OK',
                                        -type   => 'text/html');
    print $cgi->start_html ('agent');
    print $cgi->p ('ERROR');
    print $cgi->p ('error during database lookup');
    print $cgi->end_html ();

I have figured out what was giving me the unwanted results. Maybe someone with similar problems finds this in the archive sometime....

The problem is the perl-CGI library. When switching to another machine, it changed behaviour in a subtle way, causing the problem.
The commands in the code above all print to STDOUT _except for_ the first one, the header routine. This does something indeed: the browser does receive the stated the status code. However, it is not done via STDOUT. Replacing this method call by print statements that make the headerlines, fixed the problem for me:

print "Status: 500 NOT OK\n";
print "Content-type: text/html\n";

phew! Glad I found it at last. Thanks a lot to everyone who took the time to read my questions and helped me!!!

Ruud

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux