Redirect server

From Hobbynet Admin Wiki
Revision as of 18:49, 28 December 2020 by Bas (talk | contribs)
Jump to navigation Jump to search

doel

Deze servers redirect-lb1 en redirect-lb2 zorgen er voor dat sites op zowel http als https geredirect worden naar de opgegeven URL.
Hiervoor maakt hij gebruik van de gratis SSL certificaten van Let's Encrypt, die 3 maanden geldig zijn.

hoe

redirect toevoegen

stap 1

Pas DNS records aan, zodat ze naar vip100.network.hobby.nl verwijzen of naar de IP adressen van die vip.
Wacht met de vervolg stappen totdat op ns1, ns2, ns3 en ns4 deze wijziging actief is.

stap 2

Op dbclus01-int is database genaamd 'redirect' met hierin een tabel 'redirects'.
Om een record toe te voegen is er een script op redirect-lb1-int aanwezig:

php /usr/local/hobbynet/bin/addredirect.php

Gebruik: add-redirect.php <DomeinNaam> <DomeinPeriode>
Geef de nieuwe domeinnaam die geredirect moet worden en url waarnaar hij geredirect moet worden

stap 3

Draai op redirect-lb1-int het script /usr/local/hobbynet/bin/updatenieuwecerts.sh als root.
Hier wordt het certificaat aangevraagd, en de redirect actief gemaakt.
Deze stap kan je bewaren tot het laatst als je meerdere domeinen hebt.

redirect aanpassen

stap 1

Op dbclus01-int is database genaamd 'redirect' met hierin een tabel 'redirects'.
Pas hier voor het desbetreffende domein de redirect URL aan.

stap 2

Draai op redirect-lb1-int het script /usr/local/hobbynet/bin/updatenieuwecerts.sh als root.
De Apache config wordt aangepast en herladen.

redirect verwijderen

stap 1

Dit gaat heel eenvoudig door

php /usr/local/hobbynet/bin/delredirect.php www.domeinnaam.tld

Dit script revoked het certificaat en verwijderd de entry uit de database

stap 2

draai het script

/usr/local/hobbynet/bin/updatenieuwecerts.sh

scripts

Alle scripts draaien op redirect-lb1-int.

updatenieuwecerts.sh

Dit script zet Apache op de beide loadbalanced servers uit, roept het script maakcert.php om nieuwe certificaten aan te vragen en start hierna weer Apache op beide loadbalanced servers.

maakcert.php

Dit script kijkt in de database of er nog domeinen zijn waarvoor een certificaat aangevraagd moet worden. Zo ja, maakt hij deze aan.

maakapacheconf.php

Dit script maakt aan de hand van de database de Apache configuratie voor de redirects.

renewcerts.sh

Dit script verlengt elke nacht automatisch waar nodig de certificaten.

database

op Dbclus01-int staat database redirects, met 1 tabel namelijk redirects. de tabel layout is als volgt en wijst zich van zelf :

velden tabel redirects

id Het id nr (primare index)
domeinnaam de domein naam die geredirect moet worden
tech-c redirect url waar na geredirect moet worden incl http:// of https://
Cert aangemaakt Is het certificaat voor dit domein aan gemaakt. standaard 0 dan maakt certbot een nieuwe certificaat aan
Static redirect Moet de redirect static of dynamic zijn


Loadbalancer

De loadbalancer configuratie is iets anders dan standaard.
Op lb1 wordt niet getest of Apache draait ivm het aanvragen / updaten van Let's Encrypt certificaten (dat script neemt tijdelijk poort 80 of 443 over). Daarom wordt ook bij toevoegen van redirects eerst Apache gestopt.
Dit is ook de reden waarom je niet in productie sites Let's Encrypt gebruikt.