Umfrage

Was setzt ihr als Reverse Proxy ein?

Kann man das essen?
Squid
Apache
Sonstiges
Hab keinen

Autor Thema: Reverse Proxy mit Domino 8.0.2  (Gelesen 7113 mal)

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Reverse Proxy mit Domino 8.0.2
« am: 09.02.09 - 16:43:02 »
Hallo zusammen,

ich hab im Forum und im Web gesucht, auch ein paar brauchbare Artikel dazu gefunden:
http://www.apachetutor.org/admin/reverseproxies
http://www.ibm.com/developerworks/web/library/wa-secdomdat/

Nur ist es möglich, einen Domino selber als Reverse Proxy zu konfigurieren? Für Subdomains wie Server2.Gatewayserver.de oder Server5.Gatewayserver.de geht das. Aber um SSL Zertifikate zu sparen, wären eben Gatewayserver.de/Server2 und Gatewayserver.de/Server5 schöner. Hierzu konnte ich leider nichts finden.

Danke für jeden Tipp :)

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #1 am: 09.02.09 - 20:07:26 »
Nein.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #2 am: 16.02.09 - 16:09:38 »
Nachdem keines der Tutorials im Web wirklich problemlos funktioniert hat, hier mal eine exemplarische Konfiguration.

Zitat
######################### REVERSE PROXY ############################
# Module um den Apache als Reverse Proxy einzurichten (FB)         #

LoadModule    proxy_module       modules/mod_proxy.so
LoadModule    proxy_http_module    modules/mod_proxy_http.so
#LoadModule    proxy_ftp_module    modules/mod_proxy_ftp.so
#LoadModule    proxy_connect_module    modules/mod_proxy_connect.so
LoadModule    headers_module       modules/mod_headers.so
#LoadModule    deflate_module       modules/mod_deflate.so
#LoadFile    bin/zlib1.dll
LoadFile    bin/iconv.dll
LoadFile    bin/libxml2.dll
LoadModule    proxy_html_module    modules/mod_proxy_html.so

Include    conf/proxy_html.conf

ProxyRequests Off
ProxyVia Off
SetOutputFilter proxy-html
ProxyHTMLExtended On

#                                                                  #
####################################################################
#                                                                  #

### *** ###

ProxyPass /Ordner http://server.intern.de
ProxyPassReverse /Ordner http://server.intern.de

ProxyHTMLURLMap http://server.intern.de /Ordner
ProxyHTMLURLMap "document.location.href = \"http://server.intern.de/" "document.location.href = \"/Ordner/"
ProxyHTMLURLMap "document.location.href = \"\/" "document.location.href = \"/Ordner/"
ProxyHTMLURLMap "location.replace(\"/" "location.replace(\"/Ordner/"

#ProxyPassReverseCookiePath / /Ordner
ProxyPassReverseCookieDomain server.intern.de subdomain.extern.de

<Location /Ordner/>
        ProxyHTMLURLMap / /Ordner/ ce
        RequestHeader unset Accept-Encoding
   SetEnv proxy-nokeepalive 1
</Location>

#                                                                  #
####################################################################

Ebenso die Konfiguration des mod_proxy hat auch noch Zusätze erhalten:

Zitat
ProxyHTMLLinks   frame      src
ProxyHTMLLinks   applet      codebase

Generell bleibt noch zu sagen, die meiste Arbeit macht das zusammensuchen der DLLs in den richtigen Versionen für eine Installation unter Windows.

Das ganze ist jetzt umgesetzt mit Apache 2.2, zlib 1.2.3, iconv 1.9.2, libxml2 2.7.3 und mod_proxy in der aktuellen Version. Installiert auf einem x64 System als x86. Das VC++ 2008 Redist Pack für x86 muss ebenso installiert werden, sonst behauptet der Apache er könne die DLLs z.B. von zlib nicht laden, weil die zlib DLL nicht existieren würde. Thema verfehlt.

Alles in allem eine schöne Sache. Die ProxyHTMLURLMap lassen sich auch mit RegExp versorgen. Kommt alles noch, das ist erstmal ein funktionierendes Grundgerüst.

Vielleicht bleibt damit wem anders ja ein Haufen Recherche erspart :)
« Letzte Änderung: 17.02.09 - 09:23:22 von 0xse »

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #3 am: 17.02.09 - 14:55:39 »
mod_proxy_html tut ein paar Dinge, die definitiv nicht gut sind:

Es parst die ganze Webseite intern in XML, legt also z.B. in der Quellseite fehlende End Tags an. Diese werden am Ende auch mit ausgeliefert. Ebenso werden &nbsp; oder &auml; in Leerzeichen und ä geändert. Die Ausgabe erfolgt in UTF8, selbst wenn man ihm vorgibt, den Zeichensatz zu verwenden, in dem er alles erhalten hat. Das läuft nicht sauber, weswegen z.B. bei der Anzeige von iNotes Sonderzeichen als schöne kleine Vierecke auftauchen.

Alles in allem scheint das noch nicht sehr ausgereift zu sein. Auf zu Station 2, Squid...

Offline FlorianN

  • Frischling
  • *
  • Beiträge: 32
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #4 am: 18.02.09 - 12:54:07 »
Schade, dass das HTML Modul diese Probleme macht. Ohne das Modul, also nur mit dem Proxy Modul gäbe es keine Probleme mit dem Apache als Reverse Proxy für iNotes.
« Letzte Änderung: 18.02.09 - 13:23:42 von FlorianN »

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #5 am: 19.02.09 - 09:50:46 »
Mit mod_proxy und mod_sed zusammen funktioniert. Wobei das universelle gestalten der Regexp sicher noch einen Moment brauchen wird. Aber es klappt.

Zitat
ProxyPass /Ordner http://server.intern.de
ProxyPassReverse /Ordner http://server.intern.de

<Location /Ordner/>
   OutputSed "s/ src=\"\\// src=\"\\/Ordner\\//g"
   OutputSed "s/ href=\"\\// href=\"\\/Ordner\\//g"
   OutputSed "s/ cite=\"\\// cite=\"\\/Ordner\\//g"
   OutputSed "s/ codebase=\"\\// codebase=\"\\/Ordner\\//g"
   OutputSed "s/ data=\"\\// data=\"\\/Ordner\\//g"
   OutputSed "s/ u=\"\\// u=\"\\/Ordner\\//g"
   OutputSed "s/ action=\"\\// action=\"\\/Ordner\\//g"
   OutputSed "s/ usemap=\"\\// usemap=\"\\/Ordner\\//g"
   OutputSed "s/ profile=\"\\// profile=\"\\/Ordner\\//g"
   OutputSed "s/ for=\"\\// for=\"\\/Ordner\\//g"
   OutputSed "s/ background=\"\\// background=\"\\/Ordner\\//g"
   OutputSed "s/ longdesc=\"\\// longdesc=\"\\/Ordner\\//g"

   OutputSed "s/:url(\\//:url(\\/Ordner\\//g"
   OutputSed "s/document.location.href = \"\\//document.location.href = \"\\/Ordner\\//g"

   OutputSed "s/http:\\/\\/server.intern.de\\//\\/Ordner\\//g"

   ProxyPassReverseCookiePath /Ordner /Ordner/Portal
   ProxyPassReverseCookieDomain server.intern.de portal.extern.de
</Location>

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #6 am: 19.02.09 - 11:48:06 »
Man kann dem *** kein Flag mitgeben, dass es nicht case sensitive ist.  Also muss man alle Zeichen jeweils groß und klein als Zeichengruppe angeben. Ich fange an SED zu lieben... es ist irgendwie ein bißchen wie Notes ;)

Zitat
OutputSed "s/ [Ss][Rr][Cc]=\"\\// src=\"\\/Ordner\\//g"
« Letzte Änderung: 19.02.09 - 12:31:41 von 0xse »

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #7 am: 20.02.09 - 15:49:29 »
mod_sed ist Mist, das ist wirklich noch im vor Beta Status. Bei den Textersetzungen schneidet das bei jedem Match das jeweils letzte Zeichen des gesamten zu durchsuchenden Textes ab. Bei 50 Matches fehlen also 50 Zeichen am Ende des Textes. So wird z.B. bei der Standard Notes Login Maske das RedirectTo am Ende abgeschnitten. Darüber ist's aufgefallen.

Irgendwie hab ich das Gefühl, dass Reverse Proxys, so wie ich mir das vorstelle mit Unterverzeichnissen, nicht allzu verbreitet sind. Naja, wo bliebe sonst die Herausforderung :)

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Re: Reverse Proxy mit Domino 8.0.2
« Antwort #8 am: 24.02.09 - 13:47:37 »
mod_sed ist doch gar nicht so schlimm. Man lernt nie aus :-)

Header unset Content-Length

Wird der Inhalt vergrößert und es ist die Inhaltslänge im Header angegeben, schneidet der Browser trotzt kompletter Übertragung am Ende der angegebenen Länge ab. Also einfach den Header verwerfen oder neuberechnen und schon funktioniert's.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz