Autor Thema: Zugriff auf iNotes via Reverse Proxy  (Gelesen 8534 mal)

TimDom

  • Gast
Zugriff auf iNotes via Reverse Proxy
« am: 29.04.13 - 09:01:33 »
Hallo zusammen,

derzeit spielen wir ein wenig mit einem Reverse Proxy mit Hilfe eines Apaches rum, da wir von extern den Webzugriff auf mehrere Dominoserver im LAN bereitstellen wollen.
Zuerst war die Idee das ganze über einen bestehenden Servernamen zu machen und dahinter einfach die "Variable" für den internen Server zu schreiben.

Also bislang so:

https://inotesserver.domain.de/mail/juppes.nsf

wird dann zu

https://inotesserver.domain.de/server1/mail/juppes.nsf

da der Juppes intern auf dem Dominoserver server1 liegt.
usw.

Das ganze hat vorne und hinten nicht so geklappt, so dass wir auf virtuelle Hosts umgestellt haben.
D.h., dass die Benutzer sich nun via https://inotesserver.domain.de/names.nsf auf dem zentralen Dominoserver anmelden und dann mit einer einfach (nicht die Redir DB vom Domino Server) DB auf deren persönlichen Server umgeleitet werden.

Damit bekommt der Juppes von oben dann solch eine URL im Browser:

https://server1-inotesserver.domain.de/mail/juppes.nsf

Also einen neuen Host und direkt auf das "Root" seines Postfachs.
Letzendlich landet der Benutzer wieder auf dem Apache, leitet dann intern per Port 80 auf dem "eigenen" Domino Webserver um.

Als Config verwenden wir diese hier:

<VirtualHost *:443>
  ServerName server1-inotesserver.domain.de
  ProxyRequests Off
  ProxyPreserveHost On
  <Proxy *>
      Order allow,deny
      Allow from all
  </Proxy>

  ProxyPass /names.nsf http://server1-inotesserver.domain.de/names.nsf
  ProxyPassReverse /names.nsf http://server1-inotesserver.domain.de/names.nsf

  ProxyPass /domjava/ http://server1-inotesserver.domain.de/domjava/
  ProxyPassReverse /domjava/ http://server1-inotesserver.domain.de/domjava/

  ProxyPass /mail/ http://server1-inotesserver.domain.de/mail/
  ProxyPassReverse /mail/ http://server1-inotesserver.domain.de/mail/

  ProxyPass /iNotes/ http://server1-inotesserver.domain.de/iNotes/
  ProxyPassReverse /iNotes/ http://server1-inotesserver.domain.de/iNotes/

  ProxyPass /icons/ http://server1-inotesserver.domain.de/icons/
  ProxyPassReverse /icons/ http://server1-inotesserver.domain.de/icons/
</VirtualHost>

Soweit so gut. Getestet mit dem IE 8, dem Firefox und Safari auf einem MacBook klappt alles wunderbar.

Wenn ich das ganze aber nun auf dem Safari auf einem iPad starte, dann bekommt der Benutzer brav die URL ersetzt:

https://server1-inotesserver.domain.de/mail/juppes.nsf

Danach sieht er im Browser:

"IBM Lotus iNotes wird geladen..."

und dann ändert sich die URL auf das hier:

http://server1-inotesserver.domain.de/mail/juppes.nsf/iNotes/Mail/?OpenDocument&Form=m_HomeView

Da fehlt dann auf einmal das SSL Protokoll. Ich habe nur so keine Idee, warum der auf einmal auf HTTP verweisst.
O.a. Konfig sollte doch eigentlich vollständig sein. Und die Redirect DB ist doch eigentlich auch aussen vor, da er sich ja schon direkt "in" seinem Postfach befindet.

Irgendwie habe ich das Gefühl, dass das Postfach (Version 8.5.3FP3) hier irgendwie erkennt, dass der von einem Browser vom iPad kommt und dann iNotes öffnen will.

Offline Pfefferminz-T

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.204
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #1 am: 29.04.13 - 09:37:33 »
Hallo,

erst letzte Woche ist von meinem Kollegen zu dem Thema iNotes/Reverse Proxy mit Apache ein Artikel auf Developerworks veröffentlicht worden:

http://www.ibm.com/developerworks/lotus/documentation/apacherproxy4inotes/

Grüsse,
Thorsten
Grüsse,
Thorsten

TimDom

  • Gast
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #2 am: 29.04.13 - 10:10:54 »
Hi Thorsten,

wow. Das schaut doch mal gut aus. Den Artikel werde ich (und wohl auch andere :) ) mal zu Gemüte führen.
Weil das passt ja auf unsere eigentliche Anforderung und richtig schön ist das mit virtuellen Hosts auch nicht.

Und ich gehe mal davon aus, dass das mit dem Safari auf einem iPad mit der Konfig aus der Doku funktioniert?

Offline Pfefferminz-T

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.204
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #3 am: 29.04.13 - 15:03:46 »
Hi,

bin mir nicht sicher ob mein Kollege auch mit dem iPad getestet hat, die üblichen Verdächtigen (IE, Firefox, Chrome) funktionieren mit dieser Konfigration. Fürs iPad würde ich eher in Richtung Lotus Traveler schauen...

Gruß,
Thorsten
Grüsse,
Thorsten

TimDom

  • Gast
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #4 am: 29.04.13 - 18:56:48 »
Traveler läuft eh schon. Finde ich für die iPads & Co auch besser.
Aber man kennt ja die User. Reicht man denen den kleinen Finger ....  ;)

Aber zwischenzeitlich sieht es so aus, als wenn die Doku von Deinem Kollegen perfekt ist.
iPad fluppt auch wunderbar. Das einzige Problem, welches wir haben ist noch die Namensauflösung.
Denn die internen Server sind nicht unter gleichen Domäne, wie der externe Server erreichbar. Mein Kollege aus der Securityabteilung meint, dass man das nicht machen sollte, dass interne Server mit externen Domains dargestellt werden.

Aber sollte eigentlich auch kein Problem sein. Da müssen wir die Config bzw die regulären Ausdrücke halt ein wenig anpassen.
Mal schauen, wann ich dazu mal ruhige 30 minuten habe.

TimDom

  • Gast
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #5 am: 30.04.13 - 19:46:17 »
Hi Thorsten,

wäre es wohl möglich, dass Du Deinen Kollegen "beauftragst"?
Denn irgendwie kommen wir nicht so ganz klar mit der Doku.

Nach wie vor haben wir - oder besser mein Kollege von der Securityabteilung - ein Problemchen mit der Namensauflösung.
In der von Deinem Kollegen genutzten Variante ist ja alles unter der Domäne acme.com erreichbar. Also sowohl der Reverse Proxy (mail.acme.com) als auch die Dominos (domino1.acme.com und domino2.acme.com …). Dahingehend ist ja auch das Web SSO Token ausgelegt. Also die Domäne acme.com

Nun sagt mein Kollege, dass es eigentlich nicht State of the Art ist, die internen Server mit "externer Domäne" (acme.com) erreichbar zu machen. Er sagt, die wären besser mit acme.local o.ä. erreichbar. So schaut es auch bei uns aus, dass die internen Server nicht mit der de Domäne erreichbar sind.

Allerdings wiederspricht dies ja dann der Config des SSO Tokens, als auch dem Szenario von Deinem Kollegen. Denn ein einfaches anpassen der Proxyconfig nach acme.local klappt dann nicht.

Es wäre cool, wenn er sich dem noch mal annehmen könnte.
Mein Dank wäre im Gewiss.

Offline stoeps

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 831
  • Geschlecht: Männlich
  • It's your life, so live it your way.
    • Stoeps.de
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #6 am: 02.05.13 - 08:38:20 »
Das sollte aber eigentlich funktionieren! Der LtpaToken wird für die Domäne ausgestellt, die im Browser aufgerufen wird. Du musst nur sicherstellen, daß im SSO Doc auf der Domino Seite auch die externe Domäne aufgeführt ist. Theoretisch ist das ein Multivalue Feld und kann auch beide Domains enthalten, wird aber von IBM nicht supportet!
--
Grüsse
Christoph

TimDom

  • Gast
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #7 am: 02.05.13 - 09:56:47 »
Hi stoeps,

von der Idee her hätte ich eigentlich auch gedacht, dass es funktioniert. Momentan sieht es so aus, dass wir das SSO Token auf die externe Domäne ausgerichtet haben. In der Apache Config ist auch alles so wie in der IBM Doku auf die externe Domäne eingetragen. Versuchsweise haben wir im DNS für unsere externe Domäne die internen IPs der Dominos eingetragen, da der Apache ja die Auflösung braucht.

Somit klappt alles.

Nun zu dem Versuch, die Domäne umzustellen. Da habe ich dann in der Apache Config die externe Domain durch die lokale Domain umgestellt.
Der Apache kann auch den internen DNS Server abfragen und daher die Server mit der internet Domain auflösen.

Melde ich mich nun mit einem User an, welche auf einen Server muss, welcher nicht der Anmeldeserver (domino1.acme.com) ist, so sehe ich auf dem Dominoserver domino1 folgende Meldung: 

02.05.2013 09:53:17   HTTP Web Server: Invalid URL Exception [/iwaredir.nsf?OpenDocument&Form=l_LoadingFrame&l=de&gz&CR&MX&TS=20130502T074443,69Z&charset=UTF-8&charset=UTF-8] CN=Test User/OU=Irgendwo/O=Org

Nur habe ich so keine Idee, warum die Meldung kommt.
Ist da in der SSO Config etwas unstimmig oder aber macht der Apache da etwas anders?

Offline stoeps

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 831
  • Geschlecht: Männlich
  • It's your life, so live it your way.
    • Stoeps.de
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #8 am: 02.05.13 - 22:40:51 »
Hmm sieht so aus als wenn SSO funktioniert, sonst würde er den User nicht mitgeben. Welche Meldung kommt denn im Browser? Bzw in schreib doch mal die redirects in ein Logfile, vielleicht sieht man da mehr.

--
Grüsse
Christoph

TimDom

  • Gast
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #9 am: 03.05.13 - 07:38:19 »
Hi,

in der iwaredir.nsf habe ich mal Debug eingeschaltet. Damit kommt dann die Seite zustande, welche ich mal als TXT Datei angehängt habe.

Das Apache Accesslog sagt das hier:

Code
 - - [03/May/2013:07:17:36 +0200] "GET /domino1/mail/tuser.nsf?OpenDatabase HTTP/1.1" 200 2435
 - - [03/May/2013:07:17:36 +0200] "GET /iNotes/Forms85.nsf/iNotes/Proxy/?OpenDocument&Form=l_LoadingFrame&l=de&gz&CR&MX&TS=20130502T122042,38Z&charset=UTF-8&charset=UTF-8 HTTP/1.1" 500 804
 - - [03/May/2013:07:17:36 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=l_ScriptFrame&l=de&gz&CR&MX&TS=20130502T122042,38Z&charset=UTF-8&charset=UTF-8&ua=ie HTTP/1.1" 500 937
 - - [03/May/2013:07:17:36 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=l_SessionFrame&l=de&gz&MX&TS=20130502T212111,89Z&UNH=4ojf72uqn1qpn6qe6upnphplm1k&charset=UTF-8&KIC HTTP/1.1" 500 937

Wobei mich da die letzten beiden Einträge wundern. Denn da hätte ich eigentlich auf wieder /domino1 vor dem /mail erwartet.

Im Browser sieht der Benutzer die Meldung:

Fehler 500
HTTP Web Server: Ausnahme: Ungültige URL


Und im Log des Domino1 ist das hier zu finden:

Code
03.05.2013 07:21:39   HTTP Web Server: Invalid URL Exception [/iwaredir.nsf?OpenDocument&Form=l_LoadingFrame&l=de&gz&CR&MX&TS=20130502T122042,38Z&charset=UTF-8&charset=UTF-8] CN=Test User/OU=OU/O=ORG
03.05.2013 07:21:39   HTTP Web Server: Invalid URL Exception [/iwaredir.nsf?OpenDocument&Form=l_ScriptFrame&l=de&gz&CR&MX&TS=20130502T122042,38Z&charset=UTF-8&charset=UTF-8&ua=ie] CN=Test User/OU=OU/O=ORG
03.05.2013 07:21:39   HTTP Web Server: Invalid URL Exception [/iwaredir.nsf?OpenDocument&Form=l_SessionFrame&l=de&gz&MX&TS=20130502T212111,89Z&UNH=4ojf72uqn1qpn6qe6upnphplm1k&charset=UTF-8&KIC] CN=Test User/OU=OU/O=ORG

Trage ich in der Apache Konfig wieder die externe Domain bei den RewriteRules ein, so klappt wieder alles und das Apache log sieht so aus.
Also scheint das oben doch nicht verkehrt zu sein, dass da domino1 vor dem /mail/tuser.nsf fehlt.

Code
 - - [03/May/2013:07:25:44 +0200] "GET /domino1/mail/tuser.nsf?OpenDatabase HTTP/1.1" 200 2433
 - - [03/May/2013:07:25:44 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=l_ScriptFrame&l=de&gz&CR&MX&TS=20130502T122042,38Z&charset=UTF-8&charset=UTF-8&ua=ie HTTP/1.1" 304 342
 - - [03/May/2013:07:25:44 +0200] "GET /iNotes/Forms85.nsf/iNotes/Proxy/?OpenDocument&Form=l_LoadingFrame&l=de&gz&CR&MX&TS=20130502T122042,38Z&charset=UTF-8&charset=UTF-8 HTTP/1.1" 304 208
 - - [03/May/2013:07:25:44 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=l_SessionFrame&l=de&gz&MX&TS=20130502T212111,89Z&UNH=4ojf72uqn1qpn6qe6upnphplm1k&charset=UTF-8&KIC HTTP/1.1" 200 1370
 - - [03/May/2013:07:25:44 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=f_ViewProfile&l=de&gz&MX&TS=20130502T212111,89Z&KIC&UNH=4ojf72uqn1qpn6qe6upnphplm1k&charset=UTF-8 HTTP/1.1" 200 859
 - - [03/May/2013:07:25:44 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=f_SessionInfo&l=de&gz&MX&TS=20130502T212111,89Z&KIC&UNH=4ojf72uqn1qpn6qe6upnphplm1k&charset=UTF-8 HTTP/1.1" 200 9793
 - - [03/May/2013:07:25:46 +0200] "GET /iNotes/Forms85.nsf/transparent.gif?OpenFileResource&MX&TS=20121107T181409,88Z HTTP/1.1" 304 300
 - - [03/May/2013:07:25:46 +0200] "GET /mail/tuser.nsf/iNotes/Welcome/?OpenDocument&nam&ui=classic&PresetFields=h_SkinTypeOverride;h_ApptPreview HTTP/1.1" 200 3200
 - - [03/May/2013:07:25:47 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=s_UpdateTLMs&l=de&gz&MX&TS=1367558760383&KIC&UNH=4ojf72uqn1qpn6qe6upnphplm1k&charset=UTF-8 HTTP/1.1" 200 927
 - - [03/May/2013:07:25:47 +0200] "GET /mail/tuser.nsf/iNotes/Proxy/?OpenDocument&Form=s_SessionInfo&l=de&gz&MX&TS=20130502T212111,89Z&KIC&UNH=4ojf72uqn1qpn6qe6upnphplm1k&charset=UTF-8 HTTP/1.1" 200 9314

Offline DomDom

  • Frischling
  • *
  • Beiträge: 1
Re: Zugriff auf iNotes via Reverse Proxy
« Antwort #10 am: 06.05.13 - 15:31:42 »
Hallo,

wenn intern und extern getrennte internet domain Name verwendet werden, so ist ein zusätzlicher Eintrag in der Apache conf Datei notwendig, damit die Cookies richtig geschrieben werden. Mehr hierzu hier: http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreversecookiedomain

Ich habe es selbst nicht probiert, würde aber auf etwas in der Art tippen:

Code
ProxyPassReverseCookieDomain internal.com company.com 

am Ende der Conf Datei nach der letzten ProxyPassReverse Zeile, wenn der externe Link mail.comany.com ist und intern die Domino Server als domino1.internal.com, domino2.internal.com .... etc bekannt sind. Ich wüde checken, was im Cookie eingetragen ist - ist ja schließlich nur eine Text Datei :-)

Getestet habe ich die Konfig mit IE, Chrome, Firefox, sowie mit einer Android 4.0 VM. Ich weiß, dass eine andere Person die Konfiguration auch mit einem iPad getestet hat.

Gruß,
Marc G.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz