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
1. Die Meldung ist eine reine "Warning"
2. Wie ist Deine Config?
danke. Welche Config meinst du genau? die meinedomain.com.conf?
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 "Password Required"
AuthUserFile /etc/fhem-htpasswd
Require valid-user
Order deny,allow
Allow from all
</Location>
gibt wahrscheinlich ein durcheinander... doch welcher Eintrag ist relevanter?
dann probiere doch eifnach mal ... "https://<ip-des-pi>"/fhem
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
servername ist localhost oder alternativ der hostname der in /etc/hostname gesetzt ist. versuch das mal.
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..?
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
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
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
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?
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?
Und nicht vergessen Deine Config zu enablen. Es reicht nicht wenn sie unter site-available steht.
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
Zitat von: choetzu am 19 September 2018, 18:04:23
ich hatte sogar 2 Anleitungen dazu... siehe mein erster Post.
Genau, ich will reverse proxy über https und user-login..
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
Deine FHEM Webinstanz wird auf websocket eingestellt sein, da musst Du deine Reverse Proxy für konfigurieren.
Zitat von: CoolTux am 19 September 2018, 18:12:40
Deine FHEM Webinstanz wird auf websocket eingestellt sein, da musst Du deine Reverse Proxy für konfigurieren.
Danke, das habe ich geprüft. Offensichtlich geht das mit Mac und Safari nicht --> https://forum.fhem.de/index.php/topic,88996.msg814903.html#msg814903
Dann steig ich eben auf longpoll=1 um. Da klappt es...
kurze Frage: Woran liegt das, wenn ich auf dem iPhone Home Bildschirm die Seite (Zugriff exterN) hinzufügen will, übernimmt es mir das Touchicon nicht. Wenn ich aber den selben Link innerhalb des Netzwerkes (Zugriff intern), dann nimmt es mir.. Hat das mit HTTPS zu tun?
Lg c
was ist ein touch-icon? mach am besten einen screenshot um die unterschiede zu zeigen.
https lässt auch verknüpfungen am homescreen zu ... kannst ja mal mit https://google.com testen. hab ich grad gemacht und verknüpfung ist da
Zitat von: kadettilac89 am 20 September 2018, 14:11:23
was ist ein touch-icon? mach am besten einen screenshot um die unterschiede zu zeigen.
https lässt auch verknüpfungen am homescreen zu ... kannst ja mal mit https://google.com testen. hab ich grad gemacht und verknüpfung ist da
hallo
mit touch-icon meine ich das apple-touch-icon, welches bei einer Verlinkung auf dem Homebildschirm verwendet wird. Ein reines Apple-Ding ;)
Im Header muss man folgendes einfügen..
<link rel="apple-touch-icon" href="touchico.png">
und das icon entsprechend auf dem webserver ablegen. Dann gehts.
Bei mir hat es nun funktioniert. Und zwar musste ich die BasicAuth ausschalten, dann speichern, und dann wieder einschalten. Dann gings..Also auch hier gelöst..