Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Reverse Proxy für OWA, Webserver and Seafile

    Scheduled Pinned Locked Moved Deutsch
    8 Posts 5 Posters 2.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      meddie
      last edited by

      Hallo Leute,

      ich hoffe Ihr könnt mir helfen. Ich möchte zu Hause ein Testlab aufbauen. Mit Exchange, Webserver und einen Seafile Server als Dropbox Ersatz. Dazu möchte ich all die Server mit Reverse Proxy absichern.
      Ich habe pfSense installiert und konnte mit Squid Reverse Proxy bereits den Exchange Server bzw OWA EAS und Autodiscovery und RPC bereitstellen. Aber ich schaffe es nicht den Webserver bereitzustellen.

      Hat das jemand von Euch schon gemacht und kann mir da helfen?
      Ich wäre sehr Dankbar für jeden Tipp.
      Gruß Eddie

      1 Reply Last reply Reply Quote 0
      • T
        tommytiger
        last edited by

        Hi meddie,

        was genau versuchst du mit dem Reverse Proxy zu bezwecken?
        Ich habe selber schon viel mit Reverse Proxys gearbeitet und kann dir auf jeden Fall den Varnish, der auch in der Paketverwaltung der Pfsense ist empfehlen.

        In meinen Setup habe ich allerdings einen HAproxy als erstes vorgeschaltet, der sich dann um die Balaning bzw. SSL Offloading kümmert.
        Dahinter steht dann der Varnish der sinnvolle Sachen cached.

        aber sowohl Seafile als auch Exchange sehe ich jetzt nicht als sinnvoll zu cachen an.
        Da wäre es eher aus meiner Sicht sinnvoll die Sachen redundant (HA) aufzusetzen.

        1 Reply Last reply Reply Quote 0
        • M
          meddie
          last edited by

          Hallo tommytiger,

          danke für die Antwort, da ich das wie gesagt zu Hause als Testlab bzw. Exchange für Eigengebrauch haben will, brauche ich kein HA und Balancing.
          Den Reverse Proxy habe ich gedacht in erster  Linie nicht um zu Cachen sondern einfach weil ich die Server nicht einfach durch Portforwarding von außen erreichbar machen will. Da sollte dann schon ein Reverse Proxy dazwischen sein.

          ich sehe mir den Varnish an.
          Gruß Eddie

          1 Reply Last reply Reply Quote 0
          • T
            tommytiger
            last edited by

            Wenn du nur einen reinen Reverse Proxy haben möchtest, der schlank ist, dann nimm lieber HAProxy (auch in den Paketen enthalten).
            Der Varnish ist primär zum Cachen gedacht.

            1 Reply Last reply Reply Quote 0
            • JeGrJ
              JeGr LAYER 8 Moderator
              last edited by

              Ich habe selber schon viel mit Reverse Proxys gearbeitet und kann dir auf jeden Fall den Varnish, der auch in der Paketverwaltung der Pfsense ist empfehlen.
              Der Varnish ist primär zum Cachen gedacht.

              Eben dies und Varnish hat ein ganz anderes Problem: Varnish gibt es nicht für HTTPS. Wenn du also TLS sprechen willst (und das willst du bei OWA und Co.) scheidet Varnish schonmal aus. HA-Proxy ist eigentlich genau dafür konzipiert: Loadbalancing, HA und Proxy. Da würde ich auch zugreifen, zudem kann mit dem neuesten HA-Proxy auch HTTPS gesprochen und auch transparent weitergereicht (oder terminiert) werden.

              Grüße

              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

              1 Reply Last reply Reply Quote 0
              • M
                masterlenin
                last edited by

                Hattest du bei deinem Einsatzszenario (Seafile, Exchange) mit HAproxy erfolg?
                Stehe nämlich vor der gleichen Aufgabe.
                Tutorials für HAproxy unter pfSense konnte ich keine brauchbaren finden - würde mich freuen, wenn du deine Konfig teilen würdest.

                1 Reply Last reply Reply Quote 0
                • M
                  meddie
                  last edited by

                  Hi,

                  nein mit HA Proxy nicht, aber mit dem Squid bin ich etwas weitergekommen ich konnte meinen Webserver und meinen Seafile veröffentlichen. Allerdings stimmt noch etwas nicht, denn ich kann keine Dateien von extern uploaden. Ich hatte aber auch noch keine Zeit da weiter zu machen.
                  Ich komme praktisch über verschiedene Namen auf die richtigen Server, z.B.:

                  http(s)://www.domain.tld geht auf den intern 192-168.0.15 Webserver
                  https://cloud.domain.tld geht auf den Seafile Server 192.168.0.22

                  Das mach der Squid soweit schon richtig, nur funktioniert der Upload der Dateien nicht, irgendwas muss der Squid noch verschlucken. Den Intern geht es. Intern habe ich meinen DNS so dass die Adresse cloud.domain.tld auf die interne Adresse verweist. Und da klappt es auch.

                  1 Reply Last reply Reply Quote 0
                  • E
                    einervonvielen
                    last edited by

                    Ich hatte selbst erst mit Pound begonnen, dann Varnish dazu genommen und bin dann schließlich bei haproxy gelandet:

                    Bei der Suche nach einer funktionierenden Config bin ich dann auf http://ezoltan.blogspot.de/2014/10/highly-available-l7-load-balancing-for.html gestoßen:

                    Here is the content of the haproxy.conf file:

                    global
                      log 127.0.0.1 local0 info
                      maxconn 10000
                      daemon
                      quiet
                      tune.ssl.default-dh-param 2048

                    defaults
                      log global
                      mode http
                      option httplog
                      option dontlognull
                      timeout connect 60000ms
                      timeout client 30000ms
                      timeout server 60000ms
                      timeout check 60000ms
                      stats enable
                      stats uri /stats

                    frontend fe_ex2013
                      mode http
                      bind *:443 ssl crt /etc/ssl/certs/exchange_certificate_and_key_nopassword.pem
                      acl autodiscover url_beg /Autodiscover
                      acl mapi url_beg /mapi
                      acl rpc url_beg /rpc
                      acl owa url_beg /owa
                      acl eas url_beg /microsoft-server-activesync
                      acl ecp url_beg /ecp
                      acl ews url_beg /ews
                      acl oab url_beg /oab
                      use_backend be_ex2013_autodiscover if autodiscover
                      use_backend be_ex2013_mapi if mapi
                      use_backend be_ex2013_rpc if rpc
                      use_backend be_ex2013_owa if owa
                      use_backend be_ex2013_eas if eas
                      use_backend be_ex2013_ecp if ecp
                      use_backend be_ex2013_ews if ews
                      use_backend be_ex2013_oab if oab
                      default_backend be_ex2013

                    backend be_ex2013_autodiscover
                      mode http
                      balance roundrobin
                      option httpchk GET /autodiscover/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013_mapi
                      mode http
                      balance roundrobin
                      option httpchk GET /mapi/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013_rpc
                      mode http
                      balance roundrobin
                      option httpchk GET /rpc/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013_owa
                      mode http
                      balance roundrobin
                      option httpchk GET /owa/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013_eas
                      mode http
                      balance roundrobin
                      option httpchk GET /microsoft-server-activesync/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013_ecp
                      mode http
                      balance roundrobin
                      option httpchk GET /ecp/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013_ews
                      mode http
                      balance roundrobin
                      option httpchk GET /ews/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013_oab
                      mode http
                      balance roundrobin
                      option httpchk GET /oab/healthcheck.htm
                      option log-health-checks
                      http-check expect status 200
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    backend be_ex2013
                      mode http
                      balance roundrobin
                      server lab-ex01 10.30.1.11:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt
                      server lab-ex02 10.30.1.12:443 check ssl inter 15s verify required ca-file /etc/ssl/certs/ca-bundle.crt

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.