Zammad 6.1 Apache Reverse Proxy Mobile Conncetion Lost

Infos:

  • Used Zammad version: 6.1.0-1699563276.d63911c3.jammy
  • Used Zammad installation type: package (i think)
  • Operating system: Ubuntu
  • Browser + version: Mobile Safari

Expected behavior:

  • Ability to use new mobile view to manage tickets

Actual behavior:

  • Can view tickets but has connection lost to server in top right hand corner
  • Unable to edit any ticket info eg: add reply or view / change status of ticket - Recieve a spinning whele that never finishes loading.

I was running version 5.4 and recetly upgraded to version 6.1

I have an external Apache Reverse Proxy that is applying a CA SSL Cert and directing all traffic to the zammad server

After reading through the forum I believe i have issues with the websockets and that they may have not worked at all adn it was falling back to another method.

I have tried pointing the ws:// with ports 80, 443, and 6042

http_type is set to https
fqdn is set to helpdesk.xxxxx

On my desktop i can see a websocket connection error in chrome developer tools

  • websocket connection to wss://helpdesk.xxxxx/ws failed
  • websocket connection to wss://helpdesk.xxxxx/ws:6042/ failed

I have tried multiple different settings that I have found throughout the forum but I am unable to get it to work.
I hope that i have been able to provide enough info and that it makes sense!

Thanks in Advance for your help, it is really appreciated!!

External Apache Reverse Proxy Config

<VirtualHost *:80>
        ServerName helpdesk.xxxx
        Redirect permanent / https://helpdesk.xxxxxxx
        </VirtualHost>

<VirtualHost *:443>
        SSLEngine on
        SSLProxyEngine off
        RequestHeader Set X-Forwarded-Proto: "https"
        SSLCertificateFile /etc/apache2/ssl/cert2023.crt
        SSLCertificateKeyFile /etc/apache2/ssl/key.pem
        SSLCertificateChainFile /etc/apache2/ssl/ca.crt

        ServerName helpdesk.xxxxxxx
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        ProxyRequests Off
        ProxyPreserveHost on
        ProxyPass /ws ws://172.22.40.241/
        ProxyPass /cable ws://172.22.40.241:3000/cable
        ProxyPass / http://172.22.40.241/
    /VirtualHost>

Internal Apache Config /etc/apache2/sites-available/zammad.conf

<VirtualHost *:80>
    # replace 'localhost' with your fqdn if you want to use zammad from remote
    ServerName helpdesk.xxxxxxx

    ## don't loose time with IP address lookups
    HostnameLookups Off

    ## needed for named virtual hosts
    UseCanonicalName Off

    ## configures the footer on server-generated documents
    ServerSignature Off

    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy 127.0.0.1:3000>
        Require local
    </Proxy>

    ProxyPass /assets !
    ProxyPass /favicon.ico !
    ProxyPass /apple-touch-icon.png !
    ProxyPass /robots.txt !
    # legacy web socket server
    ProxyPass /ws ws://127.0.0.1:6042/
    # action cable
    ProxyPass /cable ws://127.0.0.1:3000/cable
    ProxyPass / http://127.0.0.1:3000/

    # change this line in an SSO setup
    RequestHeader set X_FORWARDED_PROTO 'https'
    
    DocumentRoot "/opt/zammad/public"

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory "/opt/zammad/public">
        Options FollowSymLinks
        Require all granted
    </Directory>


</VirtualHost>

Your external apache has to proxy through your requests 1to1 without adjustment, the internal one has to split it to the belonging Zammad services.

This is not a trivial setup and generally more troublesome.

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