Domino Webserver mit vorgeschalteten Squid Proxy

  • Hallo


    KURZ:
    Ein Domino Web Server mit einen vorgeschalteten Squid Proxy (Reverse Proxy) soll als Webmail dienen. Die Übertragung vom Client zum Reverse Proxy soll über https laufen, der Reverse Proxy leitet die Request dann (unverschlüsselt) an den Domino Web Server weiter.
    Da jedoch der Domino Web Server manchmal auf relative Urls (und nicht wie man meint auf absolute Urls) verweist, wollen die Clients dann teilweise wieder http Requests machen...


    Frage: wie sage ich den Domino Web Server er soll/darf NICHT absolute Urls an den Client senden?


    LANG:


    Habe einen Domino Server aufgesetzt zum abrufen der Mailboxen via Web Interface.
    Das funktioniert eigentlich ganz gut.
    Der Domino Server läuft auf http Port 80


    Um die Sicherheit zu erhöhen möchte ich nun einen Squid Proxy davorschalten (als reverse Proxy) der dann auch im Internet sichbar ist, da der Domino Web Server nur im lokalen Netz läuft.
    Der Squid Proxy läuft also im Internet auf http Port 80, nimmt die Requests an und leitet sie an den Domino Web Server weiter.
    Soweit sogut, funktioniert alles prima.


    Um noch mehr Sicherheit in die Sache zu bringen möchte ich nun die Clients die via Internet einsteigen nicht http (port80) sondern https (port443) anbieten, damit die Übertragung verschlüsselt stattfindet.


    Hab dann mein System so umkonfiguriert dass:
    der Squid im Internet auf port 443 (https) lauscht, und die requests dann an den Domino Server auf Port 80 weiterleitet.
    Das heisst zwischen Domino Webserver und Squid findet keine Verschlüsselung statt (muss auch nicht, da diese Übertragung eh nur im internen Netz ist). Der Squid-Proxy übernimmt dann die Verschlüsselung (SSL Zertifikat funktioniert ohne Probleme) und baut eine verschlüsselte Verbindung mit den Client (Browser) auf.
    Dies funktioniert "teilweise" auch bestens.


    Mein jetziges Problem ist nun:
    scheinbar verweist der Domino Web Server bei Links und Images nicht immer auf relative URLs sondern manchmal auch auf absolute URLs. Dadurch habe ich das Problem wenn z.b. auf "Neues Memo" geklickt wird, das auf eine absolute http Adresse verwiesen wird, obwohl ja der Squid Proxy auf https läuft (was auch so sein soll). Durch die absoluten Verweise auf http:// urls funktioniert das mit dem https nicht ganz sowie ich es mir vorstelle. Solang der Domino Web Server relative Urls an den Client schickt, funktioniert https einwandfrei.


    Abhilfen:
    Hätte jetzt schon versucht mittels Squid Redirector alle http requests auf https zu redirecten. Das geht jedoch soweit ich gesehen hab nicht.


    Meine Frage:
    Gibt es irgendwie die Möglichkeit dass ich dem Domino Web Server sage er soll KEINE absoluten Urls an den Client schicken? Warum macht er das eigentlich.


    Für eine Hilfe wäre ich euch sehr dankbar!
    Ich hoff es war nicht zu kompliziert.


    lg franzi

  • Die URL's werden durch die jeweilige Applikation definiert. Einige URL's werden dabei vom Client (Browser) und andere von der Applikation (Domino) generiert.


    Der Browser "sieht" https und generiert folglich auch wieder https-URL's.


    Die Applikation fragt für die Generierung ab und zu auch mal nach CGI-Variablen (z.B. HTTP_Referer, Query_String usw.), dort steht dann natürlich das was am Server ankommt (in deinem Fall http) und nicht das was der Browser sieht. Das Umsetzen am Proxy zwischen verschiedenen Protokollen solltest du daher besser lassen, es sei denn du kannst dem Proxy klarmachen daß er auch in übermittelten Seiten ein komplettes URL-ReWriting macht.


    CGI-Variablen braucht der Programmierer um z.B. die Kommandos und Parameter die innerhalb einer URL stehen zu trennen und weiterverarbeiten zu können. Mit Hilfe von CGI's werden auch Cookies bedient die u.U. bei deiner Variante ebenfalls dann nicht (sauber) funktionieren würden.