Servus!
Habe einen nginx mit https-redirect und proxy_pass + fhem (latest) am Start. FHEM zeigt im lokalen Netz also mit http://<hostname>:8083/fhem alle Plots schön gemütlich und korrekt an.
Über den extern geführten Zugriff funktioniert auch alles fast volltständig. Alle Icons, z.B. der Schalter, FHEM-Logo kommen korrekt über den proxy_pass rüber. Nur die Anzeige der Plots aus dem room plots bringt keine Graphen! Da bleibt alles schwarz. Nur der Geräte-Definitions-Link unter den Graphen erscheint als Text.
Hier eine Plot-Definition:
efine Plot_TempAussen SVG sql3log:temphumdb_aussen:HISTORY
attr Plot_TempAussen label "Außensensor (Ost) Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
attr Plot_TempAussen plotfunction OS_Aussensensor
attr Plot_TempAussen room Plots
Hier die location-Definition im ngnix:
location /fhem {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:8083/fhem;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
# 'off' is default; prevents changes to the Expires and Cache-Control headers
#expires off;
}
Ist vielleicht was total offensichtliches, so dass ich den Wald vor Bäumen nicht mehr sehe...
Jemand mal einen Tipp / Hinweis für mich?
Grüße,
--volker
Hi,
interessant wäre der nginx log. Da würdest du sehen ob die Plots korrekt vom Browser angefragt werden.
Ich vermute keinen Fehler in FHEM, da es lokal funktioniert. Die Plot-Urls sind auch unter /fhem erreichbar?
Gibt es eventuell einen anderen server, eine andere location in nginx wo evtl. die Plots abgegriffen werden? Ich habe z.B. eine location für Bilder auf CDNs.
Ich habe noch
proxy_set_header Accept-Encoding $ae;
in der nginx-Config stehen. Evtl. gibt es da einen Fehler.
Siehst du einen Fehler im Browser? Mach mal im Chrome z.B. den Netzwerk-Debugger auf, ist da was rot?
Gruss Frieder
Naja, die line von Dir brachte beim "nginx -t" das hier
2017/03/20 14:34:45 [emerg] 18595#18595: unknown "ae" variable
nginx: configuration file /etc/nginx/nginx.conf test failed
Errlog muss ich mal leeren, und den Server restarten; damit ich was aussagekräftiges bekomme.
Hi,
ah ja stimmt ... du brauchst vorher noch.
set $ae "";
if ($http_accept_encoding ~* gzip) {
set $ae "gzip";
}
Ist aber nur ein Schuss ins Blaue. Also Error-Log gucken.
Gruss Frieder
Bei mir funktioniert das:
location /fhem {
proxy_pass https://localhost:8083/fhem;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_buffering off;
proxy_ignore_client_abort off;
break;
}
Micky
Hhhhmmm,
bin gerade beim Ansehen des Sourcecode der Seite auf was eigenartiges gestossen. Der Code sieht komisch aus... Müßten nicht die ganzen "&" nicht echte "&" sein?
Code-Schnipsel meiner Seite - wie gesagt FHEM latest aus dem SVN:
<script type='text/javascript' src='/fhem/pgm2/svg.js'></script> <a href="/fhem?room=Plots&pos=zoom=qday;off=0&fwcsrf=csrf_355789616015539"><img class=' Zoom-in' src="/fhem/images/default/Zoom-in.png" alt="zoom in" title="zoom in"></a> <a href="/fhem?room=Plots&pos=zoom=week;off=0&fwcsrf=csrf_355789616015539"><img class=' Zoom-out' src="/fhem/images/default/Zoom-out.png" alt="zoom out" title="zoom out"></a> <a href="/fhem?room=Plots&pos=zoom=0;off=-1&fwcsrf=csrf_355789616015539"><img class=' Prev' src="/fhem/images/default/Prev.png" alt="prev" title="prev"></a><br><div class="SVGplot SVG_Plot_TempAussen"><embed src="/fhem/SVG_showLog?dev=Plot_TempAussen&logdev=sql3log&gplotfile=temphumdb_aussen&logfile=HISTORY&pos=" type="image/svg+xml" width="800" height="160" name="Plot_TempAussen"/>
</div><div class="SVGlabel SVG_Plot_TempAussen"><a href="/fhem?detail=Plot_TempAussen">Plot_TempAussen</a></div><br>
<div class="SVGplot SVG_Plot_TempAussen_Balkon"><embed src="/fhem/SVG_showLog?dev=Plot_TempAussen_Balkon&logdev=sql3log&gplotfile=temphumdb_balkon&logfile=HISTORY&pos=" type="image/svg+xml" width="800" height="160" name="Plot_TempAussen_Balkon"/>
</div><div class="SVGlabel SVG_Plot_TempAussen_Balkon"><a href="/fhem?detail=Plot_TempAussen_Balkon">Plot_TempAussen_Balkon</a></div><br>
<div class="SVGplot SVG_Plot_TempHumBad"><embed src="/fhem/SVG_showLog?dev=Plot_TempHumBad&logdev=sql3log&gplotfile=temphumdb_bad&logfile=HISTORY&pos=" type="image/svg+xml" width="800" height="160" name="Plot_TempHumBad"/>
Hab's gefunden. Es war PEBKAC (Problem exists between Keyboard and Chair).
Hatte in der nginx SSL-Konfig diese Zeile drinnen:
add_header X-Frame-Options DENY;
was prinzipiell eine gute Idee ist.
Nach dem ich das auf
add_header X-Frame-Options SAMEORIGIN;
geändert hatte, funktionieren die SVG-Plots wie sie sollen.
Hatte gestern Abend extensiv mir den HTML-Code angesehen. Zwei kleinere (kosmetische) Sachen im SVG-Modul gefunden, die Rudolf Koenig auch schon gefixed hat.
Dann habe ich mal final die Windows-Schachtel angeschaltet und meine Seiten auf allen Wegen mit dem IE angeschaut. Da kamen dann häßliche Fehlerseiten hoch.
Ist also jetzt durch und gelöst.