Hallo,
natürlich habe ich den Server mit "service apache2 restart" immer neu gestartet. Das Modul "a2enmod cgi" hatte ich schon wegen anderer Scripte installiert und aktiviert.
... anbei meine komplette vhost.conf
<VirtualHost *:443>
DocumentRoot /srv/www/htdocs
ServerName Laserprozessor
ServerAdmin info@xyz.de
<Directory /srv/www/htdocs>
AllowOverride All # NEU !!! '
Options +ExecCGI +Includes
AuthType Basic
AuthName "Bitte geben Sie Ihre Authorisierung ein"
AuthUserFile /srv/www/htaccess/.htusers
require valid-user
</Directory>
ScriptAlias /cgi-bin/ /srv/www/cgi-bin/
<Directory /srv/www/cgi-bin>
Options +ExecCGI +Includes
AuthType Basic
AuthName "Bitte geben Sie Ihre Authorisierung ein"
AuthUserFile /srv/www/htaccess/.htusers
require valid-user
</Directory>
SSLCertificateFile /etc/apache2/ssl.crt/fullchain.pem
SSLCertificateKeyFile /etc/apache2/ssl.key/privkey.pem
SSLEngine On
### Es werden alle Dateien (*.html) nach SSI durchsucht
AddType text/html .html
AddHandler server parsed .html
AddOutputFilter Includes .html
# Zugriff Kamera / USV-Software
RewriteEngine on
# RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Kamera 1 ##################################
ProxyPass /kamera_1/ http://192.168.10.71:80/
ProxyPassReverse /kamera_1/ http://192.168.10.71:80/
# Kamera 2 ##################################
ProxyPass /kamera_2/ http://192.168.10.72:80/
ProxyPassReverse /kamera_2/ http://192.168.10.72:80/
#########################################################
# Zugriff auf public-Verzeichnis für "Stückzahl"
#########################################################
<Directory "/srv/www/htdocs/public">
Require all granted
Options +Indexes +ExecCGI
AddHandler cgi-script .cgi
</Directory>
</VirtualHost>
Ein ...
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combinedQuelltext hier
bringt Fehler, kann den apache2 nicht starten.
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.
Jetzt habe ich eine info.html erstellt in dem das cgi-script aufgerufen wird und siehe da ... es geht
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.
Konstellation:
Webserver 1 (Zentrale) -> Webseite mit javascript holt von den Maschinen-Webservern (2-25 im Internet) über ein cgi-script in deren publicverzeichnis Daten ab.
Eine Maschine hat einen neuen Rechner bekommen, dabei wurde der Webserver mit https aktiviert, alle anderen Maschinen haben noch http Von allen "http Maschinen" können weiterhin Daten abgeholt werden, von der "https Maschine" nicht. Kann dies am fehlenden Zertifikat liegen ... dies habe ich bei direkten Aufruf als sicher eingestuft und akzeptiert.
Jetzt habe ich gelesen, es könnte eventuell mit Firefox und put/get zu tun haben ... ich habe jetzt keine Ahnung mehr, wo ich ansetzen soll/muss.
Vielen Dank für eure Unterstützung
der henry