How to run zammad behind external reverse proxy

Infos:

  • Used Zammad version: 6.5.1
  • Used Zammad installation type: package
  • Operating system: Debian 13
  • Browser + version: Firefox, Chrome, Edge

Is there any documentation on how to set up zammad behind an external nginx reverse proxy?

I have a vm host where i run a nginx reverse proxy for my services. Some of those require access filtering with an acl conf. I have some public reachable webservers and some servers, which are only reachable from specific ips or from my vpn subnet.

I want to integrate zammad in this setup also and i want to stop the nginx server on the zammad machine. I have changed the environment variables on the zammad host, so zammad listens to the vm ip on port 3000 and 6042.

I have copied the ssl config to the proxy, implement my acl conf and point the upstreams to the zammad vm.

But when i open my zammad url, the browser only says “Loading…”. When i access the zammad instance via http://vm-ip:3000 i can see the web ui.

Is there anything i was missing in the nginx config?

Digging a way deeper on the net, i’ve found this:

I’ve commented out the part location ~ ^/(assets/|robots.txt and it seems to work. But why is this so? Are there some hints?

Because the assets you’re telling your nginx to look for are not existing on your local web directory…?

1 Like

Hmm, that makes sense…

Is the “expires max” option necessary for performance? To avoid problems, I added a proxy_pass http://zammad_railsserver; in the configuration block, and it seems to be working.