Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

The load balancer can be connected to the outside world to allow access to the jtel System from the internet.

Connecting the LB to the outside world directly


Warning
titleNot recommended

This is not the recommended approach. If you do decide to do this, then consider the following carefully.

  • DO NOT CONNECT THE INTERNAL NETWORK INTERFACE DIRECTLY TO THE INTERNET. 
    There are more ports open in the firewall on the load balancer for the operation of the solution than just the http and https ports.
    The load balancer should be given a second network interface with the public IP address.

  • Only open port 80 and port 8080 on the second network interface.

  • Consider installing additional protection such as fail2ban to protect against some attacks.

  • Consider using https only.

Connecting the LB to the outside world via a firewall

The following ports should be forwarded to the jtel Load Balancer:

  • Port 80
  • Port 443

It is highly recommended to install a certificate for your domain on the load balancer.

See also Rolle LB - Selbst signiertes Zertifikat and Rolle LB - Zertifikate für Load-Balancer.

Note: you can use https only (i.e. open only port 443 in the firewall) if you do not require http access. See below for details of extra configuration required in the load balancer to do this.

Connecting the LB to the outside world via a reverse proxy

The preceeding reverse proxy should perform the following tasks:

  • SSL Offloading
    Decode https using an installed certificate, and forward decoded http requests to the jtel load balancer onto port 80.

  • Insert the following headers into the http request:
    X-Forwarded-For 
    X-Forwarded-Proto

Note: this configuration must be performed by the administrators of the reverse proxy and depends on the exact reverse proxy used.

Addition LB Configuration if only Port 443 is opened (via Firewall or via previous Reverse Proxy)

If only port 443 is available to the outside world, then the following must be considered:

  • All requests to the jtel webservers must include the https protocol in the URI.

Because of redirections which are made in the web application, it is necessary to inform the web server that the redirected URL should refer to https and not http.

This is achieved using the X-Forwarded-Proto header in most webservers. Wildfly can do this. However, JBOSS does not do this correctly and so haproxy must be configured to perform this task.

JBOSS

When running JBOSS webservers, add the following to haproxy.cfg in the backend configuration section for jtel_portal and jtel_soap

http-response   replace-header Location http:(.*) https:\1

This is because JBOSS does not process the X-Forwarded-Proto header correctly when redirections are made.

Wildfly

When running Wildfly on the webservers, the configuration, make sure the following is in standalone.xml on the http listener:

proxy-address-forwarding="true"

For example:

<http-listener name="default" socket-binding="http" max-post-size="20971520" enable-http2="false" proxy-address-forwarding="true"/>

The wildfly servlet container deals with the protocol differences correctly on its own by interpreting the X-Forwarded-Proto header.


Sv translation
languagede

Der Load Balancer kann mit der Außenwelt verbunden werden, um den Zugriff auf das Jtel-System vom Internet aus zu ermöglichen.

Die LB direkt mit der Außenwelt verbinden

The load balancer can be connected to the outside world to allow access to the jtel System from the internet.

Connecting the LB to the outside world directly


Warning
titleNot recommended

This is not the recommended approach. If you do decide to do this, then consider the following carefully.

DO NOT CONNECT THE INTERNAL NETWORK INTERFACE DIRECTLY TO THE INTERNET. 
There are more ports open in the firewall on the load balancer for the operation of the solution than just the http and https ports.
The load balancer should be given a second network interface with the public IP address.
Only open port 80 and port 8080 on the second network interface.
Consider installing additional protection such as fail2ban to protect against some attacks.
  • Consider using https only.
  • Nicht Empfohlen

    Dies ist nicht der empfohlene Ansatz. Wenn Sie sich dazu entschließen, dann überlegen Sie sich das Folgende sorgfältig.

    • VERBINDEN SIE DIE INTERNE NETZWERKSCHNITTSTELLE NICHT DIREKT MIT DEM INTERNET. 
      In der Firewall auf dem Load Balancer sind für den Betrieb der Lösung mehr Ports offen als nur die http- und https-Ports.
      Der Load Balancer sollte eine zweite Netzwerkschnittstelle mit der öffentlichen IP-Adresse erhalten.

    • Öffnen Sie nur Port 80 und Port 8080 an der zweiten Netzwerkschnittstelle.

    • Erwägen Sie die Installation eines zusätzlichen Schutzes wie fail2ban, um sich gegen einige Angriffe zu schützen.

    • Ziehen Sie in Betracht, nur https zu verwenden.

    Verbindung der LB mit der Außenwelt über eine Firewall

    Die folgenden Ports sollten an den jtel Load Balancer weitergeleitet werden:

    • Port 80
    • Port 443

    Es wird dringend empfohlen, ein Zertifikat für Ihre Domain auf dem Load Balancer zu installieren.

    Siehe auch: 

    Connecting the LB to the outside world via a firewall

    The following ports should be forwarded to the jtel Load Balancer:

    • Port 80
    • Port 443

    It is highly recommended to install a certificate for your domain on the load balancer.

    See also Rolle LB - Selbst signiertes Zertifikat und and Rolle LB - Zertifikate für Load-Balancer.

    Note: you can use https only (i.e. open only port 443 in the firewall) if you do not require http access. See below for details of extra configuration required in the load balancer to do this.

    Connecting the LB to the outside world via a reverse proxy

    Hinweis: Sie können nur https verwenden (d.h. nur Port 443 in der Firewall öffnen), wenn Sie keinen http-Zugang benötigen. Siehe unten für Einzelheiten über die dazu erforderliche zusätzliche Konfiguration im Load Balancer.

    Verbindung der LB mit der Außenwelt über einen Reverse-Proxy

    Der vorangehende Reverse-Proxy sollte folgende Aufgaben erfüllenThe preceeding reverse proxy should perform the following tasks:

    • SSL Offloading
      Decode https using an installed certificate, and forward decoded http requests to the jtel load balancer onto port 80.
      Dekodieren Sie https unter Verwendung eines installierten Zertifikats und leiten Sie dekodierte http-Anforderungen an den Jtel-Loadbalancer auf Port 80 weiter.

    • Fügen Sie die folgenden Überschriften in die http-Anforderung einInsert the following headers into the http request:
      X-Forwarded-For 
      X-Forwarded-Proto

    Note: this configuration must be performed by the administrators of the reverse proxy and depends on the exact reverse proxy used.

    Addition LB Configuration if only Port 443 is opened (via Firewall or via previous Reverse Proxy)

    If only port 443 is available to the outside world, then the following must be considered:

    • All requests to the jtel webservers must include the https protocol in the URI.

    Because of redirections which are made in the web application, it is necessary to inform the web server that the redirected URL should refer to https and not http.

    This is achieved using the X-Forwarded-Proto header in most webservers. Wildfly can do this. However, JBOSS does not do this correctly and so haproxy must be configured to perform this task.

    JBOSS

    Hinweis: Diese Konfiguration muss von den Administratoren des Reverse-Proxys durchgeführt werden und hängt genau vom verwendeten Reverse-Proxy ab.

    Hinzufügen der LB-Konfiguration, wenn nur Port 443 geöffnet ist (über Firewall oder über vorherigen Reverse Proxy)

    Wenn der Außenwelt nur der Port 443 zur Verfügung steht, muss Folgendes berücksichtigt werden:

    • Alle Anfragen an die Jtel-Webserver müssen das https-Protokoll in der URI enthalten.

    Wegen der Umleitungen, die in der Webanwendung vorgenommen werden, ist es notwendig, dem Webserver mitzuteilen, dass die umgeleitete URL auf https und nicht auf http verweisen soll.

    Dies wird durch die Verwendung des X-Forwarded-Proto-Headers in den meisten Webservern erreicht. Wildfly kann dies tun. JBOSS macht dies jedoch nicht korrekt, so dass Haproxy für diese Aufgabe konfiguriert werden muss.

    JBOSS

    Wenn Sie JBOSS-Webserver ausführen, fügen Sie in der haproxy.cfg im Abschnitt Backend-Konfiguration für jtel_portal und jtel_soap Folgendes hinzuWhen running JBOSS webservers, add the following to haproxy.cfg in the backend configuration section for jtel_portal and jtel_soap

    http-response   replace-header Location http:(.*) https:\1

    This is because JBOSS does not process the Dies liegt daran, dass JBOSS den X-Forwarded-Proto header correctly when redirections are made-Header bei Umleitungen nicht korrekt verarbeitet.

    Wildfly

    When running Wildfly on the webservers, the configuration, make sure the following is in standalone.xml on the http listenerWenn Sie Wildfly auf den Webservern ausführen, stellen Sie bei der Konfiguration sicher, dass die folgende Datei in der Datei standalone.xml auf dem http-Hörer vorhanden ist:

    proxy-address-forwarding="true"

    For exampleZum Beispiel:

    <http-listener name="default" socket-binding="http" max-post-size="20971520" enable-http2="false" proxy-address-forwarding="true"/>

    The wildfly servlet container deals with the protocol differences correctly on its own by interpreting the Der Servlet-Container wildfly behandelt die Protokollunterschiede selbständig korrekt, indem er den X-Forwarded-Proto header-Header interpretiert.