Help configuring reverse proxy for SOGo

NethServer Version: Nethserver 7.7 Final (up to date)
Module: Reverse proxy

TL;DR: I want to use reverse proxy on one NS server to access SOGo on another NS server.

Hello,

I’ve the following setup:

  • frontend1: Nethserver receiving all the network traffic from the router (mydomain.net) and acting as a reverse proxy frontend
  • server1: Nethserver hosting SOGo and also Nextcloud (waiting to be migrated)
  • server2: Other server hosting some other applications
  • serverNNN: Other server hosting some other applications
  • oldserver: hosting Nextcloud

I would like to access SOGO using the following URL: https://mydomain.net/SOGo

So I need the reverse proxy to redirect this URL to the internal URL: https://server1/SOGo

I’ve found this very nice post but unfortunately… I don’t understand what needs to be done and I feel that because it’s not exactly the same use-case it doesn’t apply (I think my use case is simpler).

And if possible I would like to be able to do that with the UI :slight_smile:

Here’s what I’ve done so far:

  • redirect 80/443 traffic to frontend1
  • request letsencrypt certificate for mydomain.net from frontend1
  • add virtual host for mydomain.net on frontend1 (though I’m not sure it’s useful).

Now I’m completely struggling with the reverse proxy definition. (I used to use Caddy as a reverse proxy in my previous setup and it was very easy to define but for some reason it doesn’t work with NS.)

First of all, I think there’s a bug in the reverse proxy interface. I will log one accordingly but if anyone has experience in doing what I try, it would be welcome!

Thanks a lot!

According to this post you do not need /SOGo in your proxy definition. Just redirecting to https://server1 should be enough.

EDIT:

If it doesn’t work you may try it with a virtual host name instead of the path “/sogo”.

1 Like

Hello,

Unfortunately if I do that I will redirect all the http traffic to server1, and this is not what I want as I want to point to different servers depending on the subfolder.

Ok, for information, using Caddy I finally managed to get the reverse proxy working.

For anyone interested, here’s my proxy configuration:

proxy /SOGo https://server1:443/SOGo {
insecure_skip_verify
without /SOGo
}
proxy /SOGo.woa https://server1:443/SOGo.woa {
insecure_skip_verify
without /SOGo.woa
}
proxy /Microsoft-Server-ActiveSync https://server1:443/Microsoft-Server-ActiveSync {
insecure_skip_verify
}

I’m always amazed by how simple the configuration is with Caddy compared to Apache or Nginx.

For your information, I’ll embark into creating a caddy-based reverse-proxy applicaiton for Nethserver :slight_smile:

2 Likes