Firefox Sync 1.5 auf port 443

Status
Für weitere Antworten geschlossen.

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
168
Punkte für Reaktionen
3
Punkte
18
Hallo,

ich habe FF Sync 1.5 auf meiner DS 215j installiert und es funktioniert innerhalb meines Netzwerkes auch über Port 8133 (HAProxy leitet intern auf 8132 um).

Ich bin nach der folgenden Anleitung vorgegangen:
https://github.com/SynoCommunity/spksrc/wiki/Firefox-Sync-Server-1.5

Mein Problem:
Innerhalb des Netzwerkes meines Arbeitgebers ist der Port 8133 gesperrt, d. h. ich kann nur von zuhause synchronisieren.
Deshalb versuche ich nun, FFSync über Port 443 anzusprechen, da dieser im Firmennetzwerk geöffnet ist.

Dazu habe ich folgende Änderungen durchgeführt:
  1. In der Fritzbox leite ich Port 443 auf Port 8133 der DS weiter
  2. Ich habe die ffsync.ini angepasst: public_url = https://sync.example.selfhost.de:443/
  3. Im Firefox habe ich den Wert identity.sync.tokenserver.uri auf "https://sync.example.selfhost.de:443/" geändert.

Rufe ich jetzt im Firmennetzwerk die URL https://sync.example.selfhost.de:443/ auf, so habe ich Zugriff auf FF Sync:
{"status": "error", "errors": [{"location": "body", "name": "", "description": "Unauthorized"}]}

Versuche ich aber, FF Sync im Firefox zu aktivieren, bekomme ich immer folgende Fehlermeldung:
1453975894361 Sync.BrowserIDManager ERROR Authentication error in _fetchTokenForUser: {"details":{"now":"2016-01-28T10:11:34.361Z","message":"Authentication failed.","cause":"invalid-credentials","response_body":"{\"status\": \"invalid-credentials\", \"errors\": [{\"location\": \"body\", \"name\": \"\", \"description\": \"Unauthorized\"}]}","response_headers":{"server":"PasteWSGIServer/0.5 Python/2.7.11","date":"Thu, 28 Jan 2016 10:11:34 GMT","content-length":"110","content-type":"application/json; charset=UTF-8","x-weave-timestamp":"1453975894.32","x-timestamp":"1453975894"},"response_status":401,"name":"TokenServerClientServerError"}}

Kann mir evtl. sagen, warum ich hier immer einen Authentication Error bekomme?
Liegt es vielleicht an der Sub-Domain sync.example.selfhost.de? Was muss ich da bei selfhost.de einstellen?

Gruß,
Eddie.
 
Zuletzt bearbeitet:

Thorndike

Benutzer
Mitglied seit
22. Sep 2010
Beiträge
742
Punkte für Reaktionen
4
Punkte
38
Nun, auch bei FF kommt ja nur eine Fehlermeldung. Der Sync Server erwartet also User Credential die du ihm nicht mitgibst. Eine Basic Authentication scheint es aber nicht zu sein, sonst würde ja beim FF ein Anmeldefenster kommen. Wie genau das angegeben werden muss weiß ich allerdings auch nicht.
Die Subdomain macht nur Probleme wenn das Zertifikat (https) nicht zu der Domäne passt, das gäbe aber andere Fehlermeldungen.
 

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
168
Punkte für Reaktionen
3
Punkte
18
Erstmal danke.

Wie gesagt: Zuhause im internen Netzwerk funktioniert es.
Ob es extern funktioniert, wenn ich mich nicht im Firmennetzwerk befinde, habe ich noch nicht getestet, da mein Android Smartphone leider im Eimer ist...

Ich finde halt komisch, dass ich von aussen Zugriff auf den Dienst habe (deswegen bekomme ich ja {"status": "error", "errors": [{"location": "body", "name": "", "description": "Unauthorized"}]} angezeigt), aber trotzdem klappt die Authentifizierung nicht...

Warum muss sowas "Triviales" immer so kompliziert sein??
 

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
168
Punkte für Reaktionen
3
Punkte
18
Es sieht wohl so aus, als ob man immer den Login-Fehler bekommt, wenn man bei den Portfreigaben von einem Port auf einen anderen leitet (bspw. von 443 auf 8133).
Leitet man hingegen von 8133 auf 8133, dann funktioniert es.
Aber leider klappt's dann nicht von meinem Arbeitsplatz aus, da 8133 gesperrt ist :(

Ich bekomme es leider nicht via HAProxy hin, von Port 443 auf die 8132 (Standard Port von FF Sync umzuleiten).
Eigentlich müsste ich doch dann nur im Frontend von 8133 auf 443 umstellen, oder?

HAProxy.jpg

Aber irgendwie scheint Port 443 hier nicht zu funktionieren...
 

bastians

Benutzer
Mitglied seit
29. Jun 2011
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Moin,

ich habe es mit dem HA-Proxy auch nie hinbekommen, Mit dem Synology eigenen Apache als reverse proxy ging es sofort (und man spart sich noch ein Paket). Keine Ahnung wieso immer HA Proxy empfohlen wird...

ciao
Bastian
 

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
168
Punkte für Reaktionen
3
Punkte
18
Mit dem Synology eigenen Apache als reverse proxy ging es sofort (und man spart sich noch ein Paket). Keine Ahnung wieso immer HA Proxy empfohlen wird...
Hallo,

hast du zu der Konfiguration vielleicht einen hilfreichen Link?
Ich habe leider nichts Brauchbares gefunden...

Gruß,
Eddie.
 

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
168
Punkte für Reaktionen
3
Punkte
18
So, bin am verzweifeln!

Ich habe jetzt stundenlang versucht, einen Reverse Proxy über den Apache einzurichten, aber es funktioniert nicht.

Prinzipiell bin ich immer nach folgender Anleitung vorgegangen:
http://blog.olandese.nl/2012/11/22/access-synology-dsm-from-the-internet-with-a-reverse-proxy/

So schaut mein /etc/httpd/sites-enabled-user/httpd-ssl-vhost.conf-user File aus:
Rich (BBCode):
<IfModule !proxy_module>
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
</IfModule>

<VirrtualHost *:443>
ServerName sub.example.selfhost.bz
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
ProxyVia Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / https://localhost:5001/
ProxyPassReverse / https://localhost:5001/
</VirtualHost>

Nachdem ich die Datei gespeichert habe, starte ich den Apache via httpd -k restart neu.
Mehr ist doch nicht zu tun, oder?


Doch leider tut sich gar nichts!
Wie kann ich denn prüfen, ob meine Änderungen überhaupt einen Einfluss haben?

Kann es auch sein, dass es wegen meiner selfhost.de Adresse nicht funktioniert?

Meine Portfreigaben in der Fritzbox sehen wie folgt aus:
FritzPorts.jpg

Danke im Voraus!
 
Zuletzt bearbeitet:

bastians

Benutzer
Mitglied seit
29. Jun 2011
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Moin,

da ich meinen Apache noch für anderes benötige habe ich das so gelöst:

zaphod> cat /etc/httpd/sites-enabled-user/ffsync.conf
# Reverse Proxy for ffsync

ProxyPass /ffsync/ http://localhost:8132/
ProxyPassReverse /ffsync/ http://localhost:8132/

Damit ist der ffsync sowohl per http als auch per https unter www.meine-domain.de/ffsync ereichbar (ja nach apache config). Die Kommunication vom apache zum ffsync erfolgt unverschlüsselt, aber das sie lediglich lokalo auf dem NAS erfolgt ist mir das egal.

Mein URI für ffsync sieht dann so aus:

services.sync.tokenServerURI: https://www.meinde-domain.de/ffsync/token/1.0/sync/1.5

ciao
Bastian
 

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
168
Punkte für Reaktionen
3
Punkte
18
So, hab's jetzt endlich hinbekommen!

Vorgehensweise:
  1. Unter "Systemsteuerung>Webdienste einen Haken bei "Web Station aktivieren" und bei (WICHTIG!) "HTTPS-Verbindung für Webdienste aktivieren" setzen.
  2. Datei "ffsync.conf-user" im Verzeichnis /usr/syno/etc/ erstellen
    Rich (BBCode):
    <IfModule !proxy_module>
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_connect_module modules/mod_proxy_connect.so
      LoadModule proxy_http_module modules/mod_proxy_http.so
    </IfModule>
    
    ProxyRequests Off
    #ProxyPreserveHost On
    
    NameVirtualHost *:80
    
    #For File Station
    <VirtualHost *:80>
    ServerName ffsync.XYZ.selfhost.de
    <Location />
    RedirectPermanent / https://ffsync.XYZ.selfhost.bz/
    </Location>
    </VirtualHost>
    
    NameVirtualHost *:443
    
    <VirtualHost *:443>
    ServerName ffsync.XYZ.selfhost.de
    SSLCipherSuite HIGH:MEDIUM
    SSLProtocol all -SSLv2
    SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt
    SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key
    SSLEngine on
    SSLProxyEngine on
    ProxyRequests Off
    ProxyVia Off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    ProxyPass / http://localhost:8132/
    ProxyPassReverse / http://localhost:8132/
    </VirtualHost>
  3. Im Verzeichnis /etc/httpd/conf/ bei der Datei "httpd.conf-user" folgende Zeile anhängen:
    Rich (BBCode):
    include /usr/syno/etc/ffsync.conf-user
  4. GANZ WICHTIG bei DSM 5.2 (daran ist es bei mir immer gescheitert!!! Ich habe version 5.2-5644 Update 3): Im Verzeichnis /etc/httpd/conf/extra/ die Datei "httpd-ssl.conf-user" wie folgt editieren:
    Die beiden Zeilen
    Rich (BBCode):
    ServerName *
    ServerAlias *
    ersetzen durch
    Rich (BBCode):
    #    ServerName *
    #    ServerAlias *
  5. Für Firefox Sync muss die Datei /usr/local/ffsync/var/ffsync.ini angepasst werden:
    Rich (BBCode):
    public_url = https://ffsync.XYZ.selfhost.de/
  6. Apache mittels "synoservicectl --restart httpd-user" neustarten sowie Firefox Sync im Paketzentrum stoppen und wieder starten.
  7. Die URL "https://ffsync.XYZ.selfhost.de/token/1.0/sync/1.5" im Firefox aufrufen und eine dauerhafte Ausnahme hinzufügen, ansonsten funktioniert der Sync nicht.
  8. Bei allen Clients im Firefox (über about:config) den Wert "https://ffsync.XYZ.selfhost.de/token/1.0/sync/1.5" beim Attribut "identity.sync.tokenserver.uri" eintragen.
    Evtl. muss auch noch das Attribut "services.sync.clusterURL" auf den Wert "https://ffsync.XYZ.selfhost.de/storage/1.5/3/" gesetzt werden.

FERTIG!

Eine Anleitung zum Einrichten von Firefox Sync 1.5 auf einer Disk Station findet ihr hier:
https://github.com/SynoCommunity/spksrc/wiki/Firefox-Sync-Server-1.5


Das war mal eine schwere Geburt...
 
Zuletzt bearbeitet:

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
168
Punkte für Reaktionen
3
Punkte
18
Ich habe unter DSM 6 final den Reverse Proxy jetzt in der Systemsteuerung unter "Anwendungen=>Anwendungsportal=>Reverse Proxy" konfiguriert.
Also eine Umleitung von "https://ffsync.XYZ.selfhost.de" (Port 443) nach http://localhost (Port 8132).

Funktioniert ohne Probleme und man muss keine Dateien mehr per Konsole konfigurieren.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat