Hauptmenü

Wechsel von einem Reverse Proxy zum KIX-Proxy möglich?

Begonnen von mk268, 17.06.2026 07:16:55

⏪ vorheriges - nächstes ⏩

mk268

Hallo zusammen,

aktuell haben wir einen zusätzlichen Nginx-Reverse-Proxy als Docker Container neben KIX laufen, um die URLs zu Agentenportal und SSP ohne Portangabe aufrufen zu können.
Das wurde uns damals bei der Einrichtung vom Support so empfohlen.

Die Frage die wir uns nun stellen ist, ob wir die Configs des internen KIX Proxys dahingehend so anpassen können/dürfen, dass der Reverse Proxy entfernt werden kann, ohne dass KIX damit intern Schwierigkeiten bekommt?

Konkret geht es um diese Änderungen:

environment-Datei:
Von:
# the port on the docker host system where the frontend service is listening
FRONTEND_PORT=20001
FRONTEND_PORT_SSL=20444

Zu:
# the port on the docker host system where the frontend service is listening
FRONTEND_PORT=80
FRONTEND_PORT_SSL=443

(Sonst keine Änderungen)


ssl.conf
Diesen Block 3x jeweils für eine der Adressen (kix.domain.de, kix-ssp.domain.de, kix-backend.domain.de) ohne weiteren Einträge:

server {
    listen 443 ssl;
server_name kix.domain.de;
    client_max_body_size 100m;

    include error.inc;

    include /etc/nginx/conf.d/ssl/common.conf;
    include /etc/nginx/conf.d/ssl/ssl.conf;

    location / {
        proxy_pass http://upstream_frontend_ap;

        include /etc/nginx/conf.d/ssl/common_location.conf;

        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
    }

}

Und natürlich die Certs im entsprechenden Ordner ablegen + anpassen der ss.conf im ssl Unterordner + DNS Einträge.

Ist das so ohne weiteres Möglich?
Im Testsystem haben wir diese Änderung ausprobiert und es hat zumindest auf den ersten Blick alles funktioniert.
Aber ggf. ist das intern problematisch, wenn diese Änderungen vorgenommen werden?

Danke & Grüße
Maik

Beatrice Müller

Hallo Maik,

ja, das ist ohne weiteres möglich und mittlerweile unsere Empfehlung.
Daher habe ich kurzerhand eine kleine Anleitung erstellt: https://forum.kixdesk.com/index.php?topic=13408

Viele Grüße
Beatrice

mk268

Vielen Dank, hat mit der Anleitung bestens funktioniert.

Hatte ein wenig gehofft, dass sich dadurch unser Gateway Timeout zum Backend Problem löst, was wir seit v37 haben.
Immer wenn wir ein Ticket in ein anderes Team verschieben wollen, gibt es nach einer Minute einen Timeout und mit dem zweiten Versuch klappt es dann. Da war der Reverse Proxy als Verursacher vermutet worden, der aber ja jetzt wegfällt. Ich hoffe, dass das Problem vielleicht mit v37.2 behoben wird.

Beatrice Müller

Ja, bitte dann die 37.2 mitnehmen.

In 36.x ist man nicht in das Problem gelaufen, da die Kommunikation zwischen Browser und Frontend über Sockets lief und nicht über http.
Jetzt sind es HTTP-Requests, die ebenfalls über die Infrastruktur kommuniziert werden.

Das Standard-Timeout für die Requests sind 60 Sekunden.
Man könnte in der ssl.conf das Limit entsprechend erhöhen (ggf. vorerst verdoppeln) und prüfen, ob die Meldungen dadurch weniger werden:
server {
    listen 443 ssl;
    client_max_body_size 100m;

    server_name agent.kix18.com;

    ssl_certificate             /etc/nginx/conf.d/ssl/certs/server-agent.crt;
    ssl_certificate_key         /etc/nginx/conf.d/ssl/certs/server-agent.key;

    include error.inc;
    include /etc/nginx/conf.d/ssl/common.conf;
    include /etc/nginx/conf.d/ssl/ssl.conf;

    # increase timeout for long requests
    proxy_read_timeout 120s;
    proxy_connect_timeout 120s;
    proxy_send_timeout 120s;

    location / {
        proxy_pass http://upstream_frontend_ap;

        include /etc/nginx/conf.d/ssl/common_location.conf;

        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;

    }
}

mk268

Das hilft leider nicht. Dann kommen die Timeouts einfach nach 120 Sekunden, statt den Standard 60 Sekunden.
Unabhängig davon wie hoch das Timeout ist, möchten wir nicht immer zwei Minuten warten, bis ein Ticket verschoben ist :)

Merkwürdig ist, dass es sofort funktioniert, wenn man nach dem Timeout sofort wieder das Verschieben anstößt oder man verschiebt > F5 drückt und sofort wieder verschiebt. Dann funktioniert es auch sofort.

Ich bin gespannt, ob die neue KIX Version das Phänomen lösen kann.

Beatrice Müller

Ok, das ist in der Tat merkwürdig.
Wie viele Teams sind in eurem System?
Laufen Hintergrundprozesse (Jobs, Events) beim Verschieben der Tickets?
Für eine weitere Analyse würde ich das http-request-log benötigen.
Das können wir auch gern über ein Supportticket lösen, solltest du hier die Daten nicht bereitstellen wollen.

mk268

Wir haben (leider) 166 Teams. Davon werden effektiv aber nur ca. 30-40 verwendet.
Das ist historisch so gewachsen und wir sind noch nicht dazu gekommen die alten Teams zu löschen.
War aber bisher eigentlich kein Problem.
Weitere Hintergrundprozesse laufen keine, wenn ein Ticket verschoben wird - es wird nur das Team geändert. Wir haben da keine Sondereinstellungen vorgenommen.

Wir hatten bereits mit unserem KIX-Support-Ansprechpartner Kontakt wegen des Fehlers. Wir sind erst einmal dabei verblieben, dass wir auf die neue KIX Version warten und dann genauer schauen, sollte sich das Problem nicht lösen.

Meine Eingangsfrage war ja der Wechsel des Reverse-Proxys. Da wollte ich nicht extra ein Ticket für aufmachen, wenn wir das selbst lösen können. Daher der Forenbeitrag. Und das hat ja wunderbar funktioniert :)