[gelöst] Ich scheitere am Apache Proxy!

Begonnen von choetzu, 19 September 2018, 08:56:53

Vorheriges Thema - Nächstes Thema

choetzu

Guten Tag,

Ich habe letzte Woche mein FHEM von einem alten Raspi auf einen neuen Raspi gezügelt. Soweit eigentlich erfolgreich.
ich bin seit Tagen daran den Apache2 Proxy auf meinem Raspi3 / Stretch zu installieren. Das habe ich auf dem alten Raspi problemlos hingekriegt. Ich habe sowohl den Wiki Beitrag (https://wiki.fhem.de/wiki/Apache_Authentication_Proxy) wie auch auf Haus-automatisierung.com die Anleitung xmal durch gelaufen. Aber es kommt einfach nicht zum laufen. Mittlerweile habe ich das Gefühl, dass ich ein absolutes Durcheinander habe und weiss nicht wo ich anfangen soll, weiter an der Behebung der Fehler zu suchen.

Apache 2 ist installiert: sudo apachectl configtest -->
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK


Wenn ich die IP Adresse des Raspi eingebe, kommt die Apache2 Default page. Wenn ich die Ip des Raspi:8083 mache, kommt Fhem. Wenn ich IP des Raspi:8084 (gemäss Wiki) mache, dann kommt "Safari kann keine Verbindung zum Server aufbauen.

Weiss jemand rat, wie man Schritt für Schritt vorgehen kann?

Danke. Lg C


Raspi3, EnOcean, Zwave, Homematic

Wernieman

1. Die Meldung ist eine reine "Warning"
2. Wie ist Deine Config?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

choetzu

danke. Welche Config meinst du genau? die meinedomain.com.conf?
Raspi3, EnOcean, Zwave, Homematic

choetzu

ich habe einmal die

meinedomain.com.conf (aus dem hausautomatiserungs-tutorial, Nr. 21)

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName meinedomain.com

    ServerAdmin info@meinedomain
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/meinedomain.error.log
    CustomLog ${APACHE_LOG_DIR}/meinedomain.access.log combined

    SSLCertificateFile /etc/letsencrypt/live/meinedomain/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/meinedomainprivkey.pem

    Include /etc/letsencrypt/options-ssl-apache.conf

    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On

    <Location /fhem>
        ProxyPass http://localhost:8083/fhem
        ProxyPassReverse http://localhost:8083/fhem
    </Location>

    <Location /api>
        ProxyPass http://localhost:8089/fhem
        ProxyPassReverse http://localhost:8089/fhem
    </Location>

    <Directory />
        RedirectPermanent / /fhem
    </Directory>

    <Proxy *>
        AuthType Basic
        AuthName "Password for FHEM Required"
        AuthUserFile /etc/fhem-htpasswd
        Require valid-user
        Order deny,allow
        Allow from all
    </Proxy>


</VirtualHost>
</IfModule>


und einmal fhem /etc/apache2/conf.d/fhem (datei heisst fhem)aus dem Wiki:
<Location /fhem>
  # ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um
  ProxyPass http://localhost:8084/fhem
  ProxyPassReverse http://localhost:8084/fhem
  ProxyHTMLEnable On
  # ProxyHTMLURLMap passt Links im HTML/JavaScript Source an
  ProxyHTMLURLMap /        /fhem/
  ProxyHTMLURLMap /fhem/     /fhem/
  AuthType Basic
  AuthName &quot;Password Required&quot;
  AuthUserFile /etc/fhem-htpasswd
  Require valid-user
  Order deny,allow
  Allow from all
</Location>


gibt wahrscheinlich ein durcheinander... doch welcher Eintrag ist relevanter?
Raspi3, EnOcean, Zwave, Homematic

Wernieman

dann probiere doch eifnach mal ... "https://<ip-des-pi>"/fhem
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

choetzu

habe ich gemacht: Da muss ich zuerst das Zertifikat bestätigen, dann komm ich auf 404 Fehler

Not Found

The requested URL /fhem was not found on this server.

Apache/2.4.25 (Raspbian) Server at meineIP Port 443
Raspi3, EnOcean, Zwave, Homematic

kadettilac89

servername ist      localhost       oder alternativ der hostname der in /etc/hostname gesetzt ist. versuch das mal.

choetzu

herzlichen dank.

geht leider nicht. Es steht da in der datei hostname "raspberrypi".. damit gehts leider auch nicht.. ich habe mittlerweile nur noch eine conf datei, und zwar

fhem.conf unter ../sites-available/

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName fhem.ssssss

    ServerAdmin info@tsssss
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/fhem.ssssss.com.error.log
    CustomLog ${APACHE_LOG_DIR}/fhemssssss.com.access.log combined

    SSLCertificateFile /etc/letsencrypt/live/fhem.ssssss.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/fhem.sssssss.com/privkey.pem

    Include /etc/letsencrypt/options-ssl-apache.conf

    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On

   <Location /fhem>
        ProxyPass http://raspberrypi:8083/fhem
        ProxyPassReverse http://raspberrypi:8083/fhem
        RequestHeader set Authorization "Basic XXXXXXXXXX"
    </Location>

    <Directory />
        RedirectPermanent / /fhem
    </Directory>

    <Proxy *>
        AuthType Basic
        AuthName "Password for FHEM Required"
        AuthUserFile /etc/fhem-htpasswd
        Require valid-user
        Order deny,allow
        Allow from all
    </Proxy>

</VirtualHost>
</IfModule>


Portforwarding 443 auf dem Router hab ich gemacht. Jetzt kommt aber mit dem Browser Safari immer die Meldung:

"Safari kann die Seite nicht öffnen, da keine sichere Verbindung aufgebaut werden kann"

Was mach ich bloss falsch..?
Raspi3, EnOcean, Zwave, Homematic

kadettilac89

du hast eine warnung die du wegbringen willst, änderst aber auch gleichzeitig andere config-files.

am besten startest du mal mit der "nackten" config. ohne irgend welche änderungen. wenn das läuft schritt für schritt weitergehen.

Zitat von: choetzu am 19 September 2018, 14:53:51
"Safari kann die Seite nicht öffnen, da keine sichere Verbindung aufgebaut werden kann"

Was mach ich bloss falsch..?

welches Zertifikat hast du, selbst erstellt? dann könnte es sein, dass hier eine ausnahme für dein zertifikat im browser gemacht werden muss. habe keine apple-devices, weiß nicth wie die ausnahme heißt. teste wenn möglcih mal in einem anderen browser

choetzu

ja, ich weiss... aber ich versuche ungeduldig das baby zum laufen zu bringen. Und es heisst ja immer, frag Tante "google" zuerst, bevor man dumm schreibt. nun habe ich aufgrund dessen etliches probiert und somit schiffbruch erlitten.

Wie meinst du das mit der nackten config? fhem.conf vom Inhalt leeren oder ganz löschen?

Ich habe nun chrome installiert und probiert. Da kommt

Die Website ist nicht erreichbar
fhem.meineseite.com hat die Verbindung abgelehnt.
Versuchen Sie Folgendes:

Verbindung prüfen
Proxy und Firewall prüfen
ERR_CONNECTION_REFUSED
Raspi3, EnOcean, Zwave, Homematic

kadettilac89

ich meinte die nackte apache konfiguration ohne jegliche reverse proxy konfiguration. damit die von dir genannte warnung ... hostname ... weg ist. und die default apache website kommt. dann weißt du dass apache an sich läuft.

im anschluss kümmerst dich um reverse proxy

die meldung

choetzu

Zitat von: kadettilac89 am 19 September 2018, 16:04:39
ich meinte die nackte apache konfiguration ohne jegliche reverse proxy konfiguration. damit die von dir genannte warnung ... hostname ... weg ist. und die default apache website kommt. dann weißt du dass apache an sich läuft.

im anschluss kümmerst dich um reverse proxy

die meldung

Done! Apache läuft mit der default seite! Auch von ,,aussen"!

Und was sind die nächsten Schritte?
Raspi3, EnOcean, Zwave, Homematic

kadettilac89

apache für reverse proxy konfigurieren :)

du hattest dazu sicher irgend eine anleitung. ich habe kein apache sondern nginx laufen. prinzip ist identisch. diese hier? https://wiki.fhem.de/wiki/Apache_Authentication_Proxy

was willst du erreichen. reverse proxy über https und user / passwort-login?

CoolTux

Und nicht vergessen Deine Config zu enablen. Es reicht nicht wenn sie unter site-available steht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

choetzu

#14
Zitat von: kadettilac89 am 19 September 2018, 17:04:27
apache für reverse proxy konfigurieren :)

du hattest dazu sicher irgend eine anleitung. ich habe kein apache sondern nginx laufen. prinzip ist identisch. diese hier? https://wiki.fhem.de/wiki/Apache_Authentication_Proxy

was willst du erreichen. reverse proxy über https und user / passwort-login?

ich hatte sogar 2 Anleitungen dazu... siehe mein erster Post.

Genau, ich will reverse proxy über https und user-login..

Zitat von: CoolTux am 19 September 2018, 17:26:18
Und nicht vergessen Deine Config zu enablen. Es reicht nicht wenn sie unter site-available steht.

GENAU, das wars.. Ich kann mich nicht entsinnen, dass ich dies das letzte mal machen musste.

sudo a2ensite meineseite.com.conf

Nun läuft alles wunschgemäss.. Herzlichen Dank.

EDIT: Es geht zwar, aber es verliert die Connection alle paar Sekunden.. Woran liegt das?

Liebe Grüsse
c
Raspi3, EnOcean, Zwave, Homematic