Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst]cgi-perl Premature end of script header nur im vhost

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
Benutzeravatar
wenf
Hacker
Hacker
Beiträge: 422
Registriert: 8. Mär 2004, 11:23
Wohnort: ÖSI-Land
Kontaktdaten:

[gelöst]cgi-perl Premature end of script header nur im vhost

Beitrag von wenf »

so nun hab ich was zum grübeln

ich habe einen TEST-Server
Debian Woody RC2 2.4.18kernel
da läuft ein Apache 1.3.26


nun zum eigentlichen problem
da auf diesem Webserver später einmal (eigentlich bald) Perl - CGI scripte laufen sollen, habe ich das eingebunden

Nun zum Testen habe ich mal ein kleines scrip erstellt

Code: Alles auswählen

#!/usr/bin/perl -w
use CGI qw/ :standard :html3/;
########### var defs ############

print "Content-type: text/html\n\n";
#print "<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>";
print "<html><head><title>Umgebungsvariablen</title></head><body>\n";
print "<h1>Umgebungsvariablen:</h1>";
print "<table border=1>";
print "<tr><th align=left bgcolor=#E0E0E0>Variablenname</th>";
print "<th align=left bgcolor=#E0E0E0>Wert</th></tr>";
foreach(keys(%ENV)) {
  print "<tr><td><b>$_</b></td><td><tt>$ENV{$_}</tt></td></tr>\n";
}
print "<tr><th align=left bgcolor=#E0E0E0 colspan=2>insgesamt: ",
      scalar keys(%ENV)," Umgebungsvariablen</th></tr>\n";
print "</table>\n";
print "</body></html>\n";
dieses script funktioniert wunderbar
siehe <EDIT URL entfernt weil server Ip-Adresse ändert>

das gleiche script habe ich unter einem Virtuellen host abgespeichert
dort funktioniert das script leider nicht mehr
siehe
<EDIT URL entfernt weil server Ip-Adresse ändert>
(der Umweg über https - weil der FQDN des Virtuellen hostes von eurer seite nicht aufgelöst werden kann / im lakalen WAN aber schon / über eigenen dns - server)
https - Proxy siehe anleitung: http://server.1und1.com/root_server/howto/6.html

das script erzeugt einen ERROR 500 (nur im virtuellen host)
und in der ERROR.log steht
Premature end of script header

Berechtigungen des scriptes stimmen +r+x auch unix-zeilenumbrüche sind da (dos2unix env.cgi)

die config von meinem virtuellen host

Code: Alles auswählen

<VirtualHost www1.XXXXXXXX.at:80>
DocumentRoot "/home/lebi/www"
ServerName www.XXXXX.at
ServerAlias www1.XXXXX.at
ServerAdmin serveradmin@XXXXXX.at
ErrorLog /www-admin/lebi/logs/error.log
LogLevel debug
CustomLog /www-admin/lebi/logs/access.log "combined"
User lebi
Group lebi
ErrorDocument 401 /error-pages/401.php
ErrorDocument 403 /error-pages/403.php
ErrorDocument 404 /error-pages/404.php
ErrorDocument 500 /error-pages/500.php
ScriptAlias /cgi-bin/ "/home/lebi/www/cgi-bin/"
SuppressHTMLPreamble SuppressLastModified SuppressSize
Alias /Admin/ /www-admin/lebi/
</VirtualHost>
danke im vorraus
Zuletzt geändert von wenf am 26. Apr 2004, 15:52, insgesamt 2-mal geändert.
Benutzeravatar
wenf
Hacker
Hacker
Beiträge: 422
Registriert: 8. Mär 2004, 11:23
Wohnort: ÖSI-Land
Kontaktdaten:

Beitrag von wenf »

haha - fehler noch nicht behoben aber schon eingegrenzt

hat was mit suexec und docroot zu tun

haha mal googeln
Benutzeravatar
wenf
Hacker
Hacker
Beiträge: 422
Registriert: 8. Mär 2004, 11:23
Wohnort: ÖSI-Land
Kontaktdaten:

Beitrag von wenf »

danke fürs mitdenken habe problem gelöst

habe virtuelle domains nach SuExec-Verzeichnis verschoben
und dann hat suexec genau gesagt, was ihn noch gestört hat

(directory is writeable by others) usw...


manchmal sieht man den Text vor lauter Dokumentation nicht
Bild Bild
Antworten