Hulpartikel overzicht

Hulpartikel

De verschillende doorstuur-modi van HA-IP

HA-IP is een 'highly-available' IPv4- en IPv6 adres waarmee je elk gewenst TCP-verkeer doorstuurt naar één VPS. Naast TCP-verkeer ondersteunt HA-IP diverse andere modi te gebruiken voor het doorsturen van verkeer.

Je kunt kiezen uit de volgende doorstuurmodi:

ha-ip tcp-poortinstellingen


TCP

TCP is de standaard modus die ingeschakeld is. Hierbij wordt al het TCP-verkeer op een specifieke poort via HA-IP doorgestuurd naar dezelfde poort op de gekoppelde VPS. Hierbij is het uiteraard wel van belang dat je hiervoor deze poort hebt aangegeven in het controlepaneel, anders zal dit verkeer direct gedropt worden.

  • Al het TCP-verkeer wordt 1-op-1 doorgezet naar jouw VPS zonder dat hier aanpassingen op de VPS voor nodig zijn.
     
  • het 'remote-IP' (of originele IP) wordt niet meegestuurd, waardoor je niet kunt zien welk IP jouw server benadert.

HTTP

Bij de HTTP-modus worden de X-Forwarded-For- en X-Forwarded-Proto-headers meegegeven aan het verkeer.


X-Forwarded-For

Wanneer je in de configuratie van jouw webserver-software ondersteuning hiervoor inschakelt, kun je bijvoorbeeld het originele IP terugzien via:

$_SERVER['REMOTE_ADDR']
  • Gebruik je Nginx? Voeg dan het volgende toe aan de configuratie van Nginx:
    set_real_ip_from 136.144.151.0/24;
    set_real_ip_from 89.41.168.0/26;
    set_real_ip_from 2a01:7c8:ba1a::/48;
    set_real_ip_from 2a01:7c8:e000::/48;
    real_ip_header X-Forwarded-For;
  • Gebruik je Apache? In dat geval kun je gebruik maken van de mod_remoteip module. De configuratie zou er als volgt uit kunnen zien (zie deze documentatie):
    RemoteIPHeader X-Forwarded-For
    RemoteIPTrustedProxy 136.144.151.0/24
    RemoteIPTrustedProxy 89.41.168.0/26
    RemoteIPTrustedProxy 2a01:7c8:ba1a::/48
    RemoteIPTrustedProxy 2a01:7c8:e000::/48 
  • Gebruik je IIS? Voor het inschakelen hiervan zijn meerdere stappen nodig, waarvan op docs.microsoft.com een uitgebreide handleiding terug te vinden is.

 


X-Forwarded-Proto

De X-Forwarded-Proto header is bijvoorbeeld handig om HTTP-verkeer te redirecten:

  • Gebruik je Nginx? Je kunt dan bijvoorbeeld een http naar https redirect instellen met:
    if ($http_x_forwarded_proto = "http") {
        return 301 https://$server_name$request_uri; 
    }
  • Gebruik je Apache? Stel dan een redirect in een .htaccess-file in met de syntax:
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
  • Gebruik je IIS? Je kunt een redirect instellen in de web.config <system.Webserver> sectie met:
    <rewrite>
      <rules>
        <clear />
        <rule name="Force HTTPS" enabled="true">
          <match url="(.*)" ignoreCase="false" />
            <conditions>
              <add input="HTTP_X_Forwarded_Proto" pattern="https" negate="true" />
            </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>


HTTPS

Bij de HTTPS-modus wordt de 'SSL-termination' al toegepast op ons HA-IP platform. Als je gebruik maakt van de HTTP-s modus, is het belangrijk dat je een SSL-certificaat installeert op je HA-IP, zie deze handleiding. Je kunt hiervoor gebruik maken van onze Comodo-certificaten, of een gratis Let's Encrypt (wildcard) certificaat. Daarnaast is het van belang dat er op jouw VPS ook een SSL-certificaat is geïnstalleerd op de VHOST, al mag dit bijvoorbeeld wel een 'selfsigned'-certificaat zijn.

Met de HTTPS-modus kan het het originele 'remote IP' doorgestuurd worden naar je VPS door in de configuratie van jouw webserver de 'X-Forwarded-For'-optie in te schakelen (zie de instructie onder 'HTTP-modus').


HTTP/2

HTTP/2 is de opvolger van HTTP en past, naast diverse verbeteringen aan bestaande protocollen, compressie en request & response multiplexing toe. HTTP/2 kan hierdoor in tegenstelling tot HTTP met één enkele TCP verbinding meerdere streams in paralel verwerken. Er zijn zo minder TLS-handshakes nodig en HTTP/2-sessies kunnen herbruikt worden. Hierdoor kun je bijvoorbeeld over één verbinding meerdere downloads starten en ervaar je in het algemeen een betere netwerk-performance.

De HTTP/2-modus past, net als de HTTPS-modus 'SSL-termination' toe. Hierdoor kan het https-verkeer ook doorgestuurd worden naar de VPS, inclusief het originele 'remote IP', zie voor meer informatie de toelichting onder 'HTTPS'.

Bekijk ons Blog-artikel 'HTTP/2: de opvolger van HTTP' voor meer informatie over HTTP2 tegenover HTTP.


PROXY

Bij de PROXY-modus wordt al het verkeer inclusief alle informatie van de originele request doorgestuurd. Dit vereist wel dat de service die van de specifieke poort gebruik maakt, het PROXY-protocol ondersteunt. Ook zorgt dit er voor dat de service alleen via HA-IP benaderd kan worden en niet langer direct via het IP van de VPS zelf. Gedetailleerde informatie over de PROXY-modus vind je terug op de website van HAProxy.

Je kunt hiermee 'transparant' traffic doorsturen naar andere services dan alleen HTTP. Daarnaast wordt er bij de PROXY-modus geen SSL toegepast. Je hoeft met de PROXY-modus dus geen SSL-certificaat op je HA-IP te installeren maar enkel SSL op de gekoppelde VPS('en).


 

Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' aan de onderzijde van deze pagina.

Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

0
animalprojects 30 augustus 2023 (#10285)

Hoe zit het met de ondersteuning van SignalR verbindingen en HA-IP ? Welke modus wordt dan best gekozen ?

0
animalprojects 30 augustus 2023 (#10282)

HTTP/2 staat intussen wel in de lijst van mogelijke modi. Mag ik aannemen dat HTTP2 intussen wel ondersteund is ?

0
Matthijs van Beek Admin 11 februari 2019 (#2693)

@lamersm,

Op dit moment wordt HTTP/2 inderdaad niet ondersteund. Onder de motorkop van HA-IP zit Haproxy, wat inderdaad HTTP/2 ondersteund, maar nog niet stabiel werkt volgens de Haproxy-ontwikkelaars. Wij houden dit in de gaten en wanneer Haproxy stabiel met HTTP/2 overweg kan, gaan wij het zeker op de planning zetten.

0
lamersm 8 februari 2019 (#2680)

Het is wel belangrijk om te vermelden dat HA-IP geen HTTP/2 ondersteuning biedt.

0
Nick Brouwer Admin 9 oktober 2017 (#163)

@ltit

Ai, dat klopt! Het lijkt er op dat haproxy.com de betreffende link verwijderd heeft, we hebben de link dan ook uit het artikel gehaald.

Maar geen nood! De cache van Google biedt in de tussentijd uitkomst. Je kunt via de onderstaande link de betreffende link nog terug vinden:

https://webcache.googleusercontent.com/search?q=cache:BmBoZnZu6koJ:https://www.haproxy.com/blog/haproxy/proxy-protocol/+&cd=1&hl=en&ct=clnk&gl=nl

-Nick

0
ltit 8 oktober 2017 (#154)

De link onder het kopje PROXY met de tekst 'de website van HAProxy' verwijst naar een niet bestaande pagina. Zou deze link kunnen worden geupdate?

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op