Hi
ich habe einen reverse proxy mit nginx aufgesetzt. funktioniert auch.
wenn ich nun das fhemweb über nginx aufrufe komme ich auch auf die Seite.
Das einzig bisher auffallende unterschied ist, dass sich die Seite nicht automatisch aktualisiert.
Also wenn ich zum Beispiel ein Licht einschalte, ändert sich der Status nicht, erst wenn ich manuell die Seite neu lade erhalte ich den korrekten Status angezeigt.
Ist das ein bekanntes Verhalten bei Verbindungen über ein reverse proxy und lässt sich dagegen etwas unternehmen?
Ich mag Squid lieber als Reverseproxy oder auch nur so als Proxy. Schon probiert?
Aber zum Test mach doch erstmal eine einfache Portweiterleitung.
Lion
Squide ist kein Reverseproxy.
Zitat von: CoolTux am 21 März 2016, 18:43:42
Squide ist kein Reverseproxy.
Komisch wie ich das damit seit Jahren hinbekomme ...
squid als reverse proxy, wusste ich auch nicht, gibts aber, http://wiki.squid-cache.org/SquidFaq/ReverseProxy. Ich habe es gerade mal mit meinem nginx probiert, liegt eher an deiner konfig, bei mir funktioniert fhemweb mit nginx als reverse proxy.
Sent from my iPad using Tapatalk
Danke für eure Beiträge.
meine nginx config ist eigentlich ganz simpel:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
# HTTP BASIC Authentication
auth_basic "NGINX";
auth_basic_user_file .htpasswd;
# SSL
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
server {
listen 443 ssl default_server;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name fhem.*;
location / {
proxy_pass http://192.168.2.251:8083;
}
}
}
Kann mir nicht erklären warum sich die FhemWEB Seiten nicht automatisch aktualisieren. Das macht die arbeit über den reverseproxy nicht gerade angenehmer. :-\
Zitat von: schka17 am 21 März 2016, 19:48:20
squid als reverse proxy, wusste ich auch nicht, gibts aber, http://wiki.squid-cache.org/SquidFaq/ReverseProxy. Ich habe es gerade mal mit meinem nginx probiert, liegt eher an deiner konfig, bei mir funktioniert fhemweb mit nginx als reverse proxy.
Sent from my iPad using Tapatalk
Hättest du netterweise noch die Konfig von diesem Test zu Hand?
Gruß
Frank
Zitat von: fiedel am 06 Juni 2016, 12:30:20
Hättest du netterweise noch die Konfig von diesem Test zu Hand?
Gruß
Frank
Hi, ist kein Test sonder produktiv System, hier bitte, ich habe ein paar nicht relevante serverdefinitionen entfernt und auch etwas anonymisiert, ich hoffe habe nicht zuviele Klammern entfernt.
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
server {
### server port and name ###
listen 172.16.1.239:443;
ssl on;
server_name cloud.mydomain.com;
### SSL log files ###
access_log /var/log/nginx/ssl-access.log;
error_log /var/log/nginx/ssl-error.log;
### SSL cert files ###
ssl_certificate ssl/mydomain.com.crt;
ssl_certificate_key ssl/mydomain.com.key;
### Add SSL specific settings here ###
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
keepalive_timeout 60;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
### We want full access to SSL via backend ###
location / {
rewrite /cloud/(.*) /$1 break;
proxy_pass https://172.16.1.252;
### force timeouts if one of backend is died ##
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
### Set headers ####
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
### Most PHP, Python, Rails, Java App can use this header ###
#proxy_set_header X-Forwarded-Proto https;##
#This is better##
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
### By default we don't want to redirect it ####
proxy_redirect off;
}
}
server {
### server port and name ###
listen 172.16.1.239:9998;
ssl on;
server_name geo.mydomain.com;
### SSL log files ###
access_log /var/log/nginx/ssl-access.log;
error_log /var/log/nginx/ssl-error.log;
### SSL cert files ###
ssl_certificate ssl/mydomain.com.crt;
ssl_certificate_key ssl/mydomain.com.key;
### Add SSL specific settings here ###
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
keepalive_timeout 60;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
# rewrite /geo/(.*) /$1 break;
#20150317 proxy_pass https://172.16.1.9:9999/fhem/geo;
proxy_pass http://172.16.1.9:9999/fhem/geo;
### force timeouts if one of backend is died ##
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
### Set headers ####
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
### Most PHP, Python, Rails, Java App can use this header ###
#proxy_set_header X-Forwarded-Proto https;##
#This is better##
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
### By default we don't want to redirect it ####
proxy_redirect off;
}
}
# fhem web frontend
server {
listen 8083;
location / {
proxy_pass http://172.16.1.9:8083;
proxy_redirect off;
proxy_buffering off;
}
}
# fhem smartphone frontend
server {
listen 8084;
location / {
proxy_pass http://172.16.1.9:8084;
proxy_redirect off;
proxy_buffering off;
}
}
# fhem tablet frontend
server {
listen 8085;
location / {
proxy_pass http://172.16.1.9:8085;
proxy_redirect off;
proxy_buffering off;
}
}
# fhem HAL9000 frontend
server {
listen 9000;
location / {
proxy_pass http://172.16.1.9:9000;
proxy_redirect off;
proxy_buffering off;
}
}
# fhem webiviewcontrol
server {
listen 9001;
location / {
proxy_pass http://172.16.1.9:9001;
proxy_redirect off;
proxy_buffering off;
}
}
}
}
Vielen Dank! Werde es demnächst bei meinen Einrichtversuchen verwenden. Evt. fehlende Klammern finde ich dann schon.
Gruß
Frank