Hauptmenü

Port 8084 über Internet

Begonnen von HarryB, 30 November 2015, 12:54:37

Vorheriges Thema - Nächstes Thema

Tedious

Hi,

ah, OK. Ich hab das Ganze jetzt erstmal zurück auf "ursprung" gesetzt und die Pakete deinstalliert. Ich setze das noch einmal von Grund auf neu auf und schau mal, denn Poste ich gerne auch die Config.

Als Config hab ich an sich die aus dem Wiki 1:1 übernommen:

<Location /fhem>
  # ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um
  ProxyPass http://localhost:8084/fhem
  ProxyPassReverse http://localhost:8084/fhem
  # 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>


Tante Edith:

Ich werde mich mal hier entlang hangeln wenns die Zeit nachher zulässt : https://gist.github.com/gbirke/8608543
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Tedious

Hmmm... auch nicht Zielführend. Wenn ich die sites-available einfüge (nur fhemphone @8084) spuckt er beim Restart apache2 fEHLER AUS .8

[....] Starting web server: apache2Syntax error on line 10 of /etc/apache2/sites-enabled/fhemphone:
Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration
Action 'start' failed.
The Apache error log may have more information
.

So langsam bin ich fast verleitet auf SSL/Cert zu verzichten und VPN zu nutzen  >:( Für mich als IIS/Win-Nutzer ist die Konfig unter Linux ein Mysterium... zumal die freundlichen Einträge im Error-Log für mich wenig hilfreich sind :(

[Wed Dec 02 11:26:43 2015] [notice] caught SIGTERM, shutting down
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

darkness

Na das steht im wiki beschrieben:

Zitat
Falls nach dem Neustart des Apache folgende Fehlermeldung kommt:
Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.


fehlt das Paket libapache2-mod-proxy-html. Einfach mit
apt-get install libapache2-mod-proxy-html


nachinstallieren.



Wernieman

Also Error-Ausgaben lesen ist immer sinnvoll, egal ob Win oder Linux:
ZitatInvalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included

Und eigentlich sind (die meisten) Linux-Deamons gesprächiger als die von Windows ...
- 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

Tedious

Paket ist installiert. Auch ein apt-get install --remove, mit anschließendem autoremove und Neuinstallation änder nichts an dem Fehler - leider. Die Error-Ausgabe habe ich gelesen und die ersten 20 Google-resultate zu dem Fehler auch. Leider hat keiner der Workarunds funktioniert. Btw, interessant - und mir erschließen sich leider nciht diz Zusammenhänge. Die Definition aus dem Wiki

ProxyHTMLURLMap /        /fhem/
  ProxyHTMLURLMap /fhem/     /fhem/


frisst er, aus dem verlinkten Howto

ProxyHTMLURLMap /        /fhem/
    ProxyHTMLURLMap /fhem/     /fhem/


meckert er in der Errormeldung an - exakt diese Zeile. Vielleicht habe ich Tomaten auf den Augen, aber für mich sieht das gleich aus?!
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Wernieman

Da Du "Windows-Fuzi" (Sorry), wie hast Du die Datei bearbeitet?

Achtung:
Windows verwendet einen anderen Zeilenendcode als Unix ... eventuell mit "dos2unix" mal die Codierung ändern
- 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

Tedious

Kein Problem :) Via Putty-Session, als Editor nehme ich immer nano - vi und ich werden keine Freunde mehr werden :) Win-seitig nutze ich Notepad++ als Editor. Ich werde mal weiter basteln - VPN wird keine Alternative sein. Ich nutze ein Windows-Phone, lt. AVM:

ZitatDie FRITZ!Box unterstützt allerdings nicht das von Windows Phone 8.1 für VPN-Verbindungen verwendete IKEv2-Protokoll. Es ist daher derzeit nicht möglich, mit Windows Phone eine VPN-Verbindung zur FRITZ!Box herzustellen.

L2TP/IPSec kann sie auch nicht :( Also nichts halbwegs "modernes" :(
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Tedious

Zitat von: Tedious am 02 Dezember 2015, 13:51:51
Kein Problem :) Via Putty-Session, als Editor nehme ich immer nano - vi und ich werden keine Freunde mehr werden :) Win-seitig nutze ich Notepad++ als Editor. Ich werde mal weiter basteln - VPN wird keine Alternative sein. Ich nutze ein Windows-Phone, lt. AVM:

L2TP/IPSec kann sie auch nicht :( Also nichts halbwegs "modernes" :(

EDIT - falls jemand später ähnliche Probleme haben sollte, für die Nachwelt:

ich habe Apache jetzt noch mal komplett auf Null zurückgesetzt. Da hat er ein bisschen gezickt, daher diese Vorgehensweise aus einem anderen Forum:

Hmm, ich habe das mal rekonstruiert und sehe, dass die Konfigurationsdateien nicht neu geschrieben werden. Das liegt wohl daran, dass nicht alle Pakete komplett entfernt werden. Folgendes sollte aber funktionieren:

Zunächst musst du herausfinden, welche Pakete installiert wurden:

sudo dpkg --get-selections | grep apache

Diese musst du dann komplett entfernen:

sudo apt-get remove --purge apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common

Wir wollen ganz sicher gehen, dass keine falschen Konfigurationen mehr vorhanden sind:

sudo rm -rf /etc/apache2

Danach apache2 neu installieren:

sudo apt-get install apache2


Anschließend kam noch die Meldung zum Thema 127.0.0.1 bzw. localhost. Gefixt wie folgt:

sudo nano"gedit /etc/apache2/conf.d/fqdn"

eintragen: ServerName localhost

Apache ist wieder "jungfräulich", ich beginne mal von vorne...
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Tedious

So, ich nochmal... ich glaube ich kann das Problem weiter eingrenzen.

Apache neu aufgesetzt, alles nur konfiguriert. Im internen (!) Netz klappt das nun (192.168.192.10/fhem landet sauber auf dem Webfrontend Port 8084). prima, prinzipiell läufts.

Problem Konfig dürfte bei der Fritzbox liegen.

Extern:
via ******.homeserver.com routet er auf den WHS, wie er soll. Da die Ports 80/8080/443 auf den WHS verweisen läuft ein externes *******.homeserver.com/fritz beim WHS auf und somit in einem 404 - soweit, so gut, so korrekt.

Übergebe ich nun den Port im Browser *******.homeserver.com:8084 schlägt die Verbindung fehl, ich lande im nirvana - klar. Übergebe ich den Pfad mit fhem, also ******.homeserver.com/fhem:8084 kommt die bekannte Fehlermeldung:

Serverfehler in der Anwendung /.
Laufzeitfehler
Beschreibung: Anwendungsfehler auf dem Server. Aufgrund der aktuellen benutzerdefinierten Fehlereinstellungen für diese Anwendung können die Details des Anwendungsfehlers (aus Sicherheitsgründen) nicht remote angezeigt werden. Sie können jedoch von Browsern angezeigt werden, die auf dem lokalen Server ausgeführt werden.

Details: Sie können die Details dieser Fehlermeldung auf dem lokalen Computer anzeigen, indem Sie ein <customErrors>-Tag in der Konfigurationsdatei web.config erstellen, die sich im Stammverzeichnis der aktuellen Webanwendung befindet. Das mode-Attribut dieses <customErrors>-Tags sollte dann auf "Off" festgelegt werden.


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>


Hinweise: Die aktuelle Seite kann durch eine benutzerdefinierte Fehlerseite ersetzt werden, indem Sie das defaultRedirect-Attribut des <customErrors>-Konfigurationstags dieser Anwendung so setzen, das es auf einen benutzerdefinierten Fehlerseiten-URL zeigt.


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>


Das kapiere ich jetzt definitiv nicht.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

darkness

wie bereits schon mal geschrieben.

Was spricht den gegen ******.homeserver.com:8084/fhem ?

Bei ******.homeserver.com/fhem:8084 landest du nicht beim Apachen sondern beim WHS im Verzeichnis fhem:8084

Tedious

#40
Dagegen spricht gar nichts - ausser dass es nicht funktioniert...

Fehler: Verbindung fehlgeschlagen

Firefox kann keine Verbindung zu dem Server unter *******.homeserver.com:8084 aufbauen.


ich spiele hier in aller Himmelsrichtungen. Befürchte die Fehlermeldung kommt auch vom IIS. Irgendwie macht die Fritzbox nicht das was ich will...

Ich habe das Ganze nach dem Wiki eingerichtet, der revers Proxy funktioniert auch - aber nur intern, per direktem Zugriff auf die IP von FHEM. Die Fritzbox biegt extern 8084 auf Fhem 8084 um. Läuft nicht.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

darkness

#41
ok. Die Meldung kommt, wie du vermutest, nicht vom Apache. Die sehen anders aus. Bei der Fritzbox bin ich allerdings raus. Soweit habe ich mich mit meiner noch nie beschäftigt...

Edit:
Fällt mir jetzt erst auf.

192.168.192.10/fhem  ist ja ein 192.168.192.10:80/fhem aufruf. Was passiert denn bei 192.168.192.10:8084/fhem?

Edit2:
Blödsinn was ich da geschrieben habe. Er soll ja den Aufruf weiterleiten... Sorry.
Kannst du http://localhost/fhem aufrufen?

Tedious

Du meinst localhost vom RPI aus? Da läuft nur eine Konsole drauf (via Putty) - der hängt in der Abstellkammer :D

Sollte aber an sich funktionieren. Wenn ich von einem lokalen Rechner im Netzwerk aus die IP/fhem aufrufe (hier 192.168.192.19/fhem) lande in der Ansicht für das Telefon - also auf Port8084, somit sollte auf dem RPI alles sauber sein. Nur die externe Anfrage (****.homeserver.com:8084/fhem) wird nicht sauber geroutet, ich lande irgendwie im Nirwana ("... Seite kann nicht angezeigt werden"...).

Wie gesagt, es macht mich stutzig dass ein externer Portscan 8084 (oder jeden anderen port den ich auf der FB weiteleiten will) als geschlossen zeigt?!
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

darkness

Zitat von: darkness am 02 Dezember 2015, 16:04:25
Kannst du http://localhost/fhem aufrufen?

Der Tipp war ja genau so gut wie Tastenkombination Alt + F4 um den Rechner zu beschleunigen.  ??? Entschuldige.

Ich hatte gedacht, dass die lokale Namensauflösung nicht funktioniert. Das also Localhost aus irgend einen Grund nicht aufgelöst wird.
Du solltest zumindest in den Logfiles vom Apache was sehen, wenn eine Anfrage an kommt (Accesslog oder Errorlog).


darkness

#44
Ich habe eben das Wiki mal an meinen Server getestet (Ubuntu 10.15). Dort ist das Paket libapache2-mod-proxy-html  nicht mehr in den Paketquellen vorhanden. Aber ein a2enmod proxy
a2enmod proxy_http
aktiviert die module (sind in Apache-bin vorhanden)

Anschließen habe ich den Port in der Fritzbox freigegeben. Sie Screenshot

Aufruf mit http://***.anydns.info:8084/fhem

hier meine apache-default.conf:

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

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

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

<Location /fhem>
  # ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um
  ProxyPass http://localhost:8084/fhem
  ProxyPassReverse http://localhost:8084/fhem
  # 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>

</VirtualHost>