Moin.
Vorab: Bei „Apache-Fragen“ ist es für die potentiell Helfenden immer wichtig zu wissen, welcher Apache unter welchem OS (auch welches Linux) wie installiert (aus dem Repo, docker, snap, selbst kompiliert, ...? ) installiert wurde. Siehe unten.
... anbei meine komplette vhost.conf
AllowOverride All # NEU !!! '
Das kann jetzt wieder weg, hab ich geschrieben weil ich dachte, Du steuerst das womöglich in einer .htaccess. AllowOverride
steuert, was in einer solchen beachtet oder ignoriert wird…
Ein ...
ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combinedQuelltext hier
bringt Fehler, kann den apache2 nicht starten.
Womöglich läuft Dein Apache nicht unter Debian und es gibt die Debian-typische Datei envvars
nicht in /etc/apache2
. Ersetze die Pfade (z.B. durch /var/log/apache2/error.log
. Poste die Fehlermeldungen. Oder lass es halt weg wenn Du keine speziellen Logfiles brauchst.
Ach so: Wenn/Falls Du da Pfade setzt, dann in dem Verzeichnis, in welches der Apache seine Logfiles „out of the box“ schreibt und lass die Endung „.log“ - sonst musst Du auch noch logrotate anpassen.
Ich habe nun in meinen alten Unterlagen gekramt und hatte schon einmal ein "public" Verzeichnis. Hier stand in der serverkonfig noch zusätzlich
Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "PUT,GET"
... was aber bei der aktuellen Serverversion einen Fehler verursacht.
https://httpd.apache.org/docs/current/mod/mod_headers.html
Ist das Apache-Modul mod_headers
eingeschaltet?
Jetzt habe ich eine info.html erstellt in dem das cgi-script aufgerufen wird und siehe da ... es geht
Das hab ich jetzt nicht verstanden.
Danach habe ich den Pfad inkl. Port und cgi-namen + Übergabeparameter in die Browserzeile eingegeben ... es geht und der Rückgabewert wird angezeigt
Wiederum danach habe ich die Webseite (anderer Webserver) unter die Lupe genommen, die auf den Webserver (publicverzeichnis) zugreift und mittels "fetch" das script vom entfernten Server aufruft um den Rückgabewert anzuzeigen. Hier kommt beim Aufruf (fetch) eine Fehlermeldung: "NetworkError when attempting to fetch resource" ... die Adresse ist aber 100% richtig.
Verstehe ich das richtig:
Du hast statisches HTML, darin Javasript, das „telefoniert“ zu unterschiedlichen Servern und holt anhand einer dynamischen (zur Laufzeit zusammengebauten) Adresse die Ausgaben des cgi-Skriptes ab?
fetch
hat - soweit ich das weiß und das MDN das beschreibt - keine Methode oder Setting mit dem man einen ungültigen Server-Key übergehen kann.
Lösung: Dein Server sollte keine selbst signierten Keys anbieten. Eine Lösung ist: Konfiguriere und benutze Let's Encypt.