Jump to content
MaM

was ist eigentlich aus der HTTPS Version geworden?

Recommended Posts

MaM

Die damals etwas hitzige Version ist ja nun versiegt, aber noch sehe ich hier kein neues Release mit SSL Features?

 

6 Monate Test sollten doch genug sein, oder?

 

Share this post


Link to post
Griga

In internen Beta-Versionen beherrscht der Webserver des Media Servers bereits HTTPS. Es wird zumindest von einem Betatester regelmäßig (und erfolgreich) mit einem selbstsignierten Zertifikat benutzt. Die Arbeiten sind vorläufig abgeschlossen.

 

Beim letzten eher außerplanmäßigen Release (6.1.6 bzw. 2.1.6) ging es hauptsächlich um Fixes für Probleme, die aktuell Schwierigkeiten bereiten. Alles, was größere bzw. konzeptionelle Änderungen beinhaltet, haben wir auf ein späteres Major Release verschoben. Dabei geht es noch um ganz andere Themen, die nicht abgeschlossen sind.

 

Share this post


Link to post
MaM

also mussich doch noch meinen reverse proxy aufsetzen...

 

Share this post


Link to post
marni

einfach lighttpd auf den router/das nas, hab ich auch so

Edited by marni

Share this post


Link to post
MaM

damit das hier nicht in Vergessenheit gerät:

 

Gestern gab Mozzilla bekannt, dass ab Version 76 Firefox den (zunächst optionalen) Modus "https only" erhält. Ist der aktiviert, werden Webseiten NUR NOCH angezeigt, wenn sie über HTTPS geladen wurden.

Die Version soll voraussichtlich Ende Mai erscheinen (dank Corona wohl etwas später).

 

Ab Version 80 wird der Modus Standard, ab Version 84 kann man ihn nicht mehr deaktivieren.

 

Also lieber Griga... KOMM IN DIE HUFE mit dem Update...

 

Share this post


Link to post
Griga
1 hour ago, MaM said:

Ab Version 80 wird der Modus Standard, ab Version 84 kann man ihn nicht mehr deaktivieren.

 

Ich frage mich, ob die Browser wirklich so radikal vorgehen können. Was ist mit den Webinterfaces von irgendwelchen Geräten im Heimnetz? Sollen die Leute alle Geräte ohne HTTPS-Fähigkeiten wegwerfen, nur weil sie das Webinterface nicht mehr aufrufen können?

 

Share this post


Link to post
MaM

Ich habe keinen Einfluß auf diese Leute, mir gefallen die Entscheidungen auch nicht, aber da geht es nun mal hin.

Ich hab versucht, eine Freigabe für "lokale Netze" einzufordern, aber bin gescheitert. Mit V6 und ohne NAT gibt es ja auch gar kein "lokales" Gerät mehr.

 

Und wenn Firefox anfängt, die anderen ziehen auf Kurz oder Lang nach.

 

Die lokalen Geräte interessieren keinen mehr, Du sollst ja eh alles auf gemieteten Cloudservern laufen lassen 😁

Das wird dann die Hochkonjunktur der Reverse Proxies.

Im Prinzip bräuchte man Dein Update nicht, ein Reverse Proxy tuts ja auch. Allerdings ist euer Webinterface recht... hmmm, wie sag ichs, nett???... "rustikal" programmiert 🙂

Sehr häufig gehen Links wieder auf absolute Pfade, wie "/".

Das macht es dann unmöglich, einen Reverse Proxy für mehrere Anwendungen gleichzeitig nutzen zu können. (so z.B. der Media Server im virtuellen Verzeichnis "/VCR/..." , meine Solaranlage unter "/Solar/..." usw.)

Durch die brutal harten Links landet man dann immer wieder beim Proxy Verteiler...

 

 

Share this post


Link to post
Griga
1 hour ago, MaM said:

Sehr häufig gehen Links wieder auf absolute Pfade, wie "/".

 

Wo genau? Wenn ich weiß, wonach ich schauen muss, ändere ich das auf relative Pfade.

 

Share this post


Link to post
MaM

sorry, ich hab das nicht so detailliert verfolgt, in der Adressleiste zeigt er ja immer "...#" an, erst, wenn man draufklickt merkt man, dass man in der Wüste landet.

 

War mir einfach zu aufwändig, JEDEN Klick zu prüfen. Nach den ersten paar, die alle daneben gingen, habe ich das Experiment beendet.

 

 

Share this post


Link to post
VinoRosso

Der "X-Forwarded-Path" header muss im proxy korrekt gesetzt sein, dann stimmen auch die URLs im webinterface.

Mit nem anständigen eigenen DNS server kann man aber auch einfach verschiedene hostnamen benutzen und kann sich das mit den  URL Pfaden sparen.

 

Geht mit Apache und nginx problemlos.

Share this post


Link to post
MaM
Posted (edited)
vor 5 Minuten schrieb VinoRosso:

Der "X-Forwarded-Path" header muss im proxy korrekt gesetzt sein, dann stimmen auch die URLs im webinterface.

Mit nem anständigen eigenen DNS server kann man aber auch einfach verschiedene hostnamen benutzen und kann sich das mit den  URL Pfaden sparen.

 

Geht mit Apache und nginx problemlos.

Verräts Du uns auch WIE?

Beides scheint mir nicht so einleuchtend zu sein, zumal das Problem mit #2 erst richtig zur Geltung kommt.

 

Edited by MaM

Share this post


Link to post
VinoRosso

Der X-Forwarded-Path header wert muss auf deinen gewünschten Pfad gesetzt werden. Also "VCR" bei dir.

Die DNS Variante ist allerdings eleganter und läuft bei mir mittlerweile, vorher hab ich auch die Pfade benutzt.

 

DNS Eintrag anlegen, zum Beispiel vcr.mam.lan, der auf deinen proxy server zeigt und dann eine nginx/apache config für den entsprechenden hostnamen anlegen.

Wenn du dann im browser vcr.mam.lan aufrufst ist alles erledigt und ohne zusätzlich URL Pfade.

Ich kenn mich allerdings nur mit diesen beiden servern aus, bei anderen webservern kann ich nicht helfen. Ob zum Beispiel IIS sowas überhaupt kann weiss ich nicht.

 

Share this post


Link to post
MaM
vor 2 Minuten schrieb VinoRosso:

DNS Eintrag anlegen, zum Beispiel vcr.mam.lan, der auf deinen proxy server zeigt und dann eine nginx/apache config für den entsprechenden hostnamen anlegen.

Wenn du dann im browser vcr.mam.lan aufrufst ist alles erledigt und ohne zusätzlich URL Pfade.

 

Hmm, kommt mir zu einfach vor, aber, ich probiers mal eben aus:

 

Nö, bin zu doof für Apache.

DNS Eintrag (global: vcr.werries.de) erzeugt mit CNAME auf wordpress.werries.local (der Proxy Apatsche, normalerweise nur die Homepage auf Port 80 / 443)

 

Beim Indianer testweise noch eingefügt:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/share/apache24/misc/"
    ServerName vcr.werries.de
    ServerAlias vcr.werries.de
    ErrorLog "/var/log/dummy-host.example.com-error_log"
    CustomLog "/var/log/dummy-host.example.com-access_log" common
</VirtualHost></VirtualHost>

 

rufe ich dann vcr.werries.de auf, so dauerts ein paar Sekunden, dann erscheint wieder meine normale Homepage (also das Wordpress auf Port 80 OHNE Virtualhost). 😞

Und logfiles wurden auch nicht angelegt.

 

Also, irgendwie noch nicht so ausgreift, aber, Du klärst mich sicherlich auf 😁

Share this post


Link to post
VinoRosso
Posted (edited)
NameVirtualHost *:80
<VirtualHost *:80>
        ServerName vcr.werries.de

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

        <Location / >
            ProxyPass         http://localhost:8081/
            ProxyPassReverse  http://localhost:8081/
        </Location>

</VirtualHost>

NameVirtualHost ist wichtig.

So sieht eine config aus die bei uns im Unternehmen läuft.

 

Für den DMS fehlen hier noch ein paar x-forwarded header.

X-Forwarded-Proto, X-Forwarded-For müssen hier auch gesetzt sein.

Ich hab aber keine apache configs mehr für den DMS.

bei Proxypass und Proxypassreverse muss natürlich die DMS URL und Port hinterlegt sein.

 

EDIT:

apache muss natürlich mod_proxy enabled haben.

die Datei muss in sites-available liegen und per a2enmod aktiviert werden.

 

Wenn du die Wahl hast nimm nginx, da geht alles viel einfacher.

Edited by VinoRosso

Share this post


Link to post
VinoRosso
server {
    listen 80;
    #listen 443 ssl;
    server_name {{domain_name}};
    server_tokens off;
    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;


    #ssl_certificate            /etc/ssl/HomeSweethome.crt;
    #ssl_certificate_key        /etc/ssl/HomeSweethome.key;
    #ssl_protocols TLSv1.3 TLSv1.2;
    #ssl_prefer_server_ciphers on;
    #ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    #ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0

    location / {
        proxy_pass http://{{dms-url}}:{{dms-port}}/;
        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host:$server_port;
        proxy_set_header X-Forwarded-Server $host;
        #proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        #proxy_set_header Connection $http_connection;
        keepalive_timeout 0;
    }

}

So sähe das für nginx aus. SSL hab ich auskommentiert.

Das in den doppelt geschweiften Klammen muss natürlich für dich angepasst werden

Die Datei muss einfach in den config ordner wo auch die anderen configs liegen.

Normal sowas wie /etc/nginx/conf.d

Share this post


Link to post
MaM
Posted (edited)
vor 3 Stunden schrieb VinoRosso:

NameVirtualHost ist wichtig.

Apache scheint das anders zu sehen:

Starting apache24.
[Sat Apr 04 15:29:22.245765 2020] [proxy_html:notice] [pid 832] AH01425: I18n support in mod_proxy_html requires mod_xml2enc. Without it, non-ASCII characters in proxied pages are likely to display incorrectly.
AH00548: NameVirtualHost has no effect and will be removed in the next release /usr/local/etc/apache24/httpd.conf:537
AH00557: httpd: apr_sockaddr_info_get() failed for test
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

 

Sieht so aus, als wenn Deine Tipps eine recht geringe Lebensdauer hätten. Vielleicht dochmal an Update denken?

 

Auch helfen die Verweise auf merkwürdige Dateien/Befehle/Verzeichnisse noch merkwürdigerer Linux Distributionen nicht weiter. Hier ist ubuntufreie Zone! (aber ich versteh schon, wofür der Edit gut sein sollte. Es fehlen aber noch diverse Module, bis das wirklich rundläuft).

 

Na ja, ich schmeiss den Indianer mal weg (ist mir eh zu übertrieben für den recht simplen Job) und probier mal nginx...

Edited by MaM

Share this post


Link to post
VinoRosso
11 minutes ago, MaM said:

Sieht so aus, als wenn Deine Tipps eine recht geringe Lebensdauer hätten. Vielleicht dochmal an Update denken?

Und schwupps hab ich keine Lust mehr dir bei deinen Problemen zu helfen 😉

Bei weiteren Problemen einfach mal Googlen, bei mir läufts schliesslich 🙂

Es geht definitiv - auch mit apache und auch mit 2.4. Halt irgendwie anders jetzt, aber ich bin kein server admin und ich geb keine Garantie auf irgendwelche Tipps.

 

Wenn ich nen apache update, ersetz ich ihn durch nginx. Damit erspart man sich viel Leid.

Die nginx config von oben hab ich bei mir genau so laufen und das klappt stressfrei 😄

 

Share this post


Link to post
MaM

 

vor 13 Minuten schrieb VinoRosso:

Und schwupps hab ich keine Lust mehr dir bei deinen Problemen zu helfen 😉

Bei weiteren Problemen einfach mal Googlen, bei mir läufts schliesslich 🙂

Es geht definitiv - auch mit apache und auch mit 2.4. Halt irgendwie anders jetzt, aber ich bin kein server admin und ich geb keine Garantie auf irgendwelche Tipps.

 

Wenn ich nen apache update, ersetz ich ihn durch nginx. Damit erspart man sich viel Leid.

Die nginx config von oben hab ich bei mir genau so laufen und das klappt stressfrei 😄

 

Du gibst aber schnell auf 🙂

Klar gehts, aber die Warnung deutet eben darauf hin, dass es nicht mehr lange gehen wird...

 

Egal, mit NGinx gehts, ist halt n normaler Reverse Proxy, macht also dasselbe, wie bislang mein IIS. Auch mit unterschiedlichen Hostnamen kommt er klar und leitet sie an verschiedene Ziele weiter. Und der DMS funktioniert auch durch den Tunnel. So weit so gut.

 

ich werd mal etwas damit rumspielen, eigentlich will ich ja nur EINEN hostname und die Proxies in Unterpfaden anlegen. Dann braucht man nur ein Zertifikat für alle Dienste auf einmal. Mal gucken, ob ich das hinbekomme...

 

 

Share this post


Link to post
Goggo16
vor 18 Stunden schrieb MaM:

Klar gehts, aber die Warnung deutet eben darauf hin, dass es nicht mehr lange gehen wird...

 

Wenn Du das (kommende) Problem doch schon kennst, dann nimm doch einfach VinoRossos Lösung auf, ergänze sie um Deine Lösung, und poste sie hier. Dann ist allen geholfen.

 

Da wäre auch ich dran interessiert.

 

LG, Goggo

Share this post


Link to post
MaM

Du sprichst so

vor 1 Minute schrieb Goggo16:

 

Wenn Du das (kommende) Problem doch schon kennst, dann nimm doch einfach VinoRossos Lösung auf, ergänze sie um Deine Lösung, und poste sie hier. Dann ist allen geholfen.

 

Da wäre auch ich dran interessiert.

 

LG, Goggo

Na, das "kommende Problem" hat sich mir ja auch erst offenbart, nachdem ich seinen Kram ausprobier hatte mit Apache.

 

Das NGINX Zeuch von ihm kannste so nehmen, das funktioniert. Auch, wenn man nicht "/" sondern einen anderen Pfad umleitet, das klappt gut. Ich brauch da nix zu ergänzen, das klappt so out of the box. (na ja, Du must schon noch n certbot installieren, der die Letsencrypt Zertifikate holt und dem NGinx unterschiebt, aber das sind ja Peanuts)

 

Kann ich leider nicht sofort verwenden, da ich im Moment auf Apache festhänge. Da läuft eine grössere WordPress Site drauf mit ein paar tausend Artikeln. Da muss ich ersmal vorsichtig rumexperimentieren, wie ich die auf Nginx kriege (Nein lieber Vino, mit reverse Proxy gehts nicht, die Site enthält viele Redirects und Subsites, da kommt der Proxy nicht hinterher).

Nicht, das ich Apache so toll finde, ist eher nervig. Aber aus historischen Gründen bin ich da im Moment eben leider eingeschränkt. Vorige Woche habe ich allerdings schonmal die Kiste entlinuxifiziert und die Site auf FreeBSD (mit externem SQL Server) umgehoben. Hätte ich da schon gewußt, dass ich von Apache auf NGinx wechseln soll, dann hätte ich das in einem Rutsch eingearbeitet. So muss ich nun komplett wieder von vorne anfangen, aber egal... man ist ja Rentner 😆

 

Leider ist mir gestern meine Lieblingsworkstation unter den Fingern gestorben, auch das Backup mochte sie nicht mehr. Also laaange Neuinstallation, bis man alles wieder am Laufen hat.. Deshalb kann ich mich um den Webserver erst wohl wieder in ein paar Tagen kümmern (man muss ja erstmal wieder die lebensnotwendigen Dinge wie Outlook, Photoshop und SPIEEELE!!! zum Laufen bringen, ausserdem wäre es nett rauszubekommen, WARUM das Dingen so den Heldentot gestorben ist...)

 

Share this post


Link to post
MaM

Nun gut, mit neuer (zumindest neu installierte) Workstation kann man sich wieder dem Problem zuwenden, und es lösen! 😁

 

Es geht ganz einfach mit Apache, VinoRosso war der Antwort schon recht nahe, es fehlte nur eine kleine (aber wichtige!) Anweisung.

 

Im Prinzip braucht man in die http.conf nur diese drei Zeilen hinzuzufügen:

 

ProxyRequests Off
ProxyPass "/vcr/" "http://vcr.werries.local:8089/"
ProxyPassReverse "/vcr/" "http://vcr.werries.local:8089/"

 

(wobei "ProxyRequests" beim Rotwein fehlte, der ganze Kram mit location... und vor allen Dingen die ganzen Header sind überflüssig!)

Wichtig ist dabei, dass alle URLS auf "/" enden, sonst gibts den bösen 500e Server Fehler und ganz mystische Einträge ins Fehlerprotokoll.

 

Damit das funktioniert müssen allerdings einige Module geladen werden, bei mir waren zusätzlich erforderlich:

 

LoadModule xml2enc_module libexec/apache24/mod_xml2enc.so
LoadModule proxy_html_module libexec/apache24/mod_proxy_html.so
LoadModule proxy_module libexec/apache24/mod_proxy.so
LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
 

Und, keine Gewähr für Linux! FreeBSD lädt beim Einbau des Proxy Modules noch eine zusätzliche Konfigurationsdatei, da steht reichlich Kram drin, den man wohl brauchen wird. Wenn es also bei euch nicht funktioniert, das hier noch in die httpd.conf mit aufnehmen (ohne Kommentare blieb nicht mehr viel übrig 🙂 )

[root@HomePageTest /usr/local/etc/apache24/extra]# cat proxy-html.conf | grep -v ^# (entferne Kommentarzeilen)

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

 

Danach ist der DMS über Internet erreichbar und läuft auf SSL:

 

 

Itworks.jpg

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...