Ich habe hier eine FHEM Installation, die Apache als Proxy/ReverseProxy verwendet. Das funktioniert  auch alles soweit, allerdings gibt es ein eigenartiges Verhalten wenn ich FHEM Files in der FHEMWEB Oberfläche im Browser öffne. Sobald die Files irgendetwas enthalten, das wie HTML aussieht z.B. "<IN>" in den gplot Files, dann wird der Inhalt des Files im Browser verändert. Das sieht für mich so aus, als ob der Apache oder wer auch immer, das als HTML interpretiert und versucht zu "reparieren", indem er z.B. "</in>" ans Ende setzt und alles, was in "<>" steht in Kleinbuchstaben wandelt.
Als Beispiel hier mal ein Screenshot des FHEM Editors für ein Standard Gplot File.
Das passiert nur, wenn http über den Apache läuft, wenn ich mich per VPN auf den Server einlogge und auf die lokalen Adressen gehe, ist alles OK, die Files selbst enthalten die Anhängsel natürlich nicht.
Hat irgendjemand eine Idee was da los ist?
			
			
			
				Wie sieht die Config Deines Proxys aus?
			
			
			
				Benutzt du in der Proxy Config ProxyHTMLDocType (http://httpd.apache.org/docs/current/mod/mod_proxy_html.html#proxyhtmldoctype)?
ZitatIf the first form is used, mod_proxy_html will also clean up the HTML to the specified standard. It cannot fix every error, but it will strip out bogus elements and attributes. It will also optionally log other errors at LogLevel Debug.
			
				
                                                                              
<VirtualHost *:80>                                                            
    ServerName           Domain                               
    RedirectPermanent    / https://Domain/                    
    RewriteEngine on                                                          
    RewriteCond %{SERVER_NAME} = Domain                        
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]   
</VirtualHost>                                                                
<VirtualHost *:443>                                   
    ServerName          Domain        
                                                      
    SSLEngine           on                            
    SSLProtocol         all -SSLv2 -SSLv3             
    SSLCipherSuite      ECDHE-RSA-AES128-GCM-SHA256:EC...
    SSLHonorCipherOrder on                            
    SSLCompression      off                           
    SSLOptions          +StrictRequire                
                                                      
                                                      
    #Use RootDir /var/www/fhemweb  # hier sollte ein V...
                                                      
    ProxyPass  /.well-known !                         
    Alias /.well-known "/var/www/proxy/.well-known"  
    <Directory "/var/www/fhemweb/.well-known">       
       order allow,deny                              
       allow from all                                
       AllowOverride All                             
       AddDefaultCharset Off                         
    </Directory>                                     
                                                     
    RewriteEngine on                                 
    RewriteCond %{HTTP:Upgrade} =websocket [NC]      
    RewriteRule /fhem(.*)           ws://localhost:2019/fhem$1 [P]     
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]                       
    RewriteRule /fhem(.*)           http://localhost:2019/fhem$1 [P]   
                                                                       
    ProxyRequests Off                                                  
    ProxyVia Off                                                       
    ProxyPreserveHost       Off                                        
    ProxyPass          /fhem http://Hostname:2019/fhem            
    ProxyPassReverse   /fhem http://Hostname:2019/fhem            
                                                                       
    #Header always set Strict-Transport-Security "max-age=31536000"    
                                                                       
    <Proxy *>                                                          
        Order deny,allow                                               
        Allow from all                                                 
        AuthType Basic                                                 
        AuthName "Password Required"                                                                                        
        AuthUserFile /etc/fhem-htpasswd                                         
        Require valid-user                                                      
    </Proxy>                                                                    
    SetOutputFilter INFLATE;proxy-html;DEFLATE                                  
    SSLCertificateFile          /etc/letsencrypt/live/Domain/fuLachanfall.pem
    SSLCertificateKeyFile       /etc/letsencrypt/live/Domain/prIckes.pem
    Include /etc/letsencrypt/options-ssl-apache.conf                            
</VirtualHost>                                                                  
Einige Zeilen sind gekürzt, der richtige Domainname ist durch "Domain" bzw. der richtige Hostnamen durch "Hostnamen" ersetzt.
			
			
			
				Wie sieht die Konfiguration von mod_proxy_html aus?
			
			
			
				Bin jetzt nicht sooo tief im apache, aber könnte es "SetOutputFilter" sein?
https://httpd.apache.org/docs/2.4/filter.html (https://httpd.apache.org/docs/2.4/filter.html)
Und der Inhalt von Include /etc/letsencrypt/options-ssl-apache.conf 
			
			
			
				Zitat von: Christoph Morrison am 26 Mai 2020, 21:39:24
Wie sieht die Konfiguration von mod_proxy_html aus?
ProxyHTMLLinks  a               href                             
ProxyHTMLLinks  area            href                             
ProxyHTMLLinks  link            href                             
ProxyHTMLLinks  img             src longdesc usemap              
ProxyHTMLLinks  object          classid codebase data usemap     
ProxyHTMLLinks  q               cite                             
ProxyHTMLLinks  blockquote      cite                             
ProxyHTMLLinks  ins             cite                             
ProxyHTMLLinks  del             cite                             
ProxyHTMLLinks  form            action                           
ProxyHTMLLinks  input           src usemap                       
ProxyHTMLLinks  head            profile                          
ProxyHTMLLinks  base            href                             
ProxyHTMLLinks  script          src for                          
Der Rest ist auskommentiert.
			
 
			
			
				Hast du testweise den Filter für proxy-html mal ausgeschaltet um eingrenzen zu können ob es an mod_proxy_html liegt? Deflate/Inflate machen sowas sicher nicht.
Es sieht so aus als würde das Markup irgendwie "repariert" werden.
Was mich stutzig macht an dem was du gepostet hast, ist, dass der Filter ohne ProxyHTMLEnable gar nicht funktionieren würde, d.h. es muss irgendwo noch mehr Config geben. grep mal nach ProxyHTML in /etc/apache2 - vielleich ist noch in einer anderen Config was.
			
			
			
				Ich würde auch so vergehen:
Mal einiges Auskommentieren und prüfen, ob es dann noch geht bzw. eventuell der Fehler "weg" ist ....