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:
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 89.41.168.0/26; 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 89.41.168.0/26 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.