Configure Zammad for reverse proxy server

Dear Experts,

We have our own reverse proxy server where it hosts all the websites that are opened to the public. As checked with the system admin, we will need to have Zammad hosted in one single folder, then he can set up the proxy server to include our zammad.contoso.edu.cn.

Is there any way we can use configure Zammad, maybe create a sub-folder named Zammad then move all the web contents/configuration files into it? I was thinking if we need to do something with /etc/nginx/sites-enabled/zammad.conf, maybe replace location / with location /zammad will work? I’m also not sure of what “proxy_pass http://zammad-railsserver” does.

I’m new to this area so any help would be really appreciated.

define your Zammad-server as upstream in your proxy and simply push all the related traffic towards your Zammad instance - there’s no need to move any files (if it would work at all)

(very) basic example for nginx (proxy-side - the webserver of your zammad instance remains unchanged):

upstream zammad {
server your.internal.zammad.domain.com:443; //can be an IP too
}
server {
listen 443 ssl http2;
server_name your.zammad.domain.com;
//ssl stuff
location / {
proxy_pass https://zammad; //your defined name of the upstream
proxy_set_header Host $host;
}
}

Dear expert,

Thanks a lot for your guidance. Sorry if I was being stupid but we have over 10 websites were hosted on the same reverse proxy server, if that matters.

Assume that we have our internal Zammad server named zammad.eaven.com, which is hosted on Debian 10 with postgreSQL. We have our reverse proxy server named web01.eaven.com.
The current behavior in our reverse proxy server is starting with sites.eaven.com/
so we have pwm server, the public link to access it is sites.eaven.com/pwm
we have moodle server, it is sites.eaven.com/moodle
Above is what I was told by the admin, so he said we need to have something similar:(

Then we can “add” following configuration lines into the.conf file in web01?

Blockquote upstream zammad {
server [zammad.eaven.com:443]
}
server {
listen 443 ssl http2;
server_name [web01.eaven.com];
//ssl stuff
location / {
proxy_pass https://zammad; //your defined name of the upstream
proxy_set_header Host $host;
}
}

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.