Antwort an „Raketenwilli“ verfassen

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.

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen