Zammad 7 Upgrade vom 6.5.3

Hitting the same problem. But I am not so sure if this is a nginx config problem when i query the internal rails address the same error pops up so i assume its just proxied forward by nginx(?)

We just had the same issue after updating to version 7, but were able to resolve it.

After updating our nginx config based on the example provided in /opt/zammad/contrib/nginx/zammad_ssl.conf, the site was back to normal.

Looking at the diff, the most probable cause was the missing root /opt/zammad/public; line.

Until now, everything was proxied, including the assets. Is it possible, that this changed with version 7 and static files have to be served from the docroot directly?

No, that section is in the config for quite some time:

1 Like

Somehow I must have missed that during the initial setup. We never had this line in our nginx config and did not have any issues.

I just verified and the backend behaviour changed:

Version 6.5.2

$ curl http://localhost:3000/assets/form/form.js
(function ($) {

/*
*
*  provides feedback form for zammad
*

<button id="zammad-feedback-form">Feedback</button>

<script id="zammad_form_script" src="http://localhost:3000/assets/form/form.js"></script>
[...]

Version 7.0.0

$ curl http://localhost:3000/assets/form/form.js
<!DOCTYPE html>
<html class="dark">
<meta charset="utf-8">
<title>404: Not Found</title>
<link rel="stylesheet" href="/assets/error/style.css">
<body >
[...]

With this change, the line in the nginx config became crucial.

I’ve got the same error. Zammad is behind an external nginx reverse proxy.

@KH-Marco what was your error in the nginx config?

If you have two proxies chained, then itā€˜s technically a different error.

I don’t have two proxies. The nginx on the zammad host is stopped. The setup worked with 6.5.3 without any problems. I’ve set the proxy_http_version on the / location.

Maybe i’m wrong - my proxy log drops a 404 for the assets. My production.log on the zammad host also says ā€œnot foundā€. If i use wget on the zammad host to get for instance http://172.16.x.x:3000/assets/images/icons.svg there is also a 404 error.

I assume youā€˜re not using a package installation…? If so, please create an independent thread, because this one is about package only and otherwise will be very confusing for others finding this one.

I use the package installation with Debian 13. Maybe it makes a difference, that i installed the previous package version direct to Debian 13. I will test this with a fresh install and my proxy setup.

I’ve got my setup working with some changes to the reverse proxy nginx and the zammad host nginx:

I have the same issue. After the update from 6 to 7, I see only ā€œLoadingā€¦ā€ and nothing else. I use Caddy as a reverse proxy in front of Zammad (apache2/nginx are disabled).

Here is my Caddyfile, which works fine with Zammad 6.

myhost.mydomain {
  @actual_name host myhost.mydomain
  handle @actual_name {
    # https://community.zammad.org/t/websocket-and-csrf-issues/15050/3
    @websockets {
      header Connection *Upgrade*
      header Upgrade websocket
    }
    reverse_proxy @websockets localhost:6042

    reverse_proxy localhost:3000 {
      # https://community.zammad.org/t/csrf-token-verification-failed-and-session-invalid/15066
      header_up Host {http.request.host}
      header_up X-Forwarded-For {http.request.remote}
      header_up X-Real-IP {http.request.remote}
      header_up X-Forwarded-Proto https
      header_up X-Forwarded-Ssl on
    }
  }
}

Yeah, no wonder, you’re not shipping the assets. Zammad doesn’t do that for you (anymore).
Can’t speak for caddy, but here’s how it’s done in nginx - I’m sure you’ll wrap your mind around it as caddy admin.

1 Like

Thanks! I have adapted the Caddyfile accordingly. Still, I cannot log in. When I open ā€œhttps://zammad.mycompany.euā€, I see ā€œLoadingā€, then a blank page. Using the developers tools of my browser, I can see that /api/v1/signshow returns an HTML document with no content. It does not look like an reverse proxy issue. I will continue to investigate as soon as I have the opportunity.