Redirect server: Difference between revisions

From Hobbynet Admin Wiki
Jump to navigation Jump to search
(Created page with "= doel = Deze servers redirect-lb1 en redirect-lb2 zorgen er voor dat sites op zowel http als https geredirectworden naar opgegevens site. Hier voor maakt hij gebruik van de g...")
 
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= doel =
= doel =
Deze servers redirect-lb1 en redirect-lb2 zorgen er voor dat sites op zowel http als https geredirectworden naar opgegevens site.
Deze servers redirect-lb1 en redirect-lb2 zorgen er voor dat sites op zowel http als https geredirect worden naar de opgegeven URL.<br>
Hier voor maakt hij gebruik van de gratis SSL certificaten van let's encrypt die 3 maanden geldig zijn
Hiervoor maakt hij gebruik van de gratis SSL certificaten van Let's Encrypt, die 3 maanden geldig zijn.
 
= hoe =
= hoe =
== redirect toevoegen ==
== redirect toevoegen ==
=== stap 1 ===
=== stap 1 ===
Pas dns records aan zodat ze naar vip100.network.hobby.nl verwijzen of die ip's van dit vip<br>
Pas DNS records aan, zodat ze naar vip100.network.hobby.nl verwijzen of naar de IP adressen van die vip.<br>
'''Wacht met de vervolg stappen tot dat op ns1, ns2 en ns3 deze wijziging actief is'''
'''Wacht met de vervolg stappen totdat op ns1, ns2, ns3 en ns4 deze wijziging actief is.'''
 
=== stap 2 ===
=== stap 2 ===
Op dbclus01-int is database genaamd redirect met hier in een tabel redirects.<br>
Op dbclus01-int is database genaamd 'redirect' met hierin een tabel 'redirects'.<br>
voeg hier de domein naam die wil redirecten en bestemmings url aan toe<br>
Om een record toe te voegen is er een script op redirect-lb1-int aanwezig:
'''let op wildcards zijn niet mogelijk voor elk (sub)domein een aparte entry'''
<pre>
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
</pre>
 
=== stap 3 ===
=== stap 3 ===
Draai op redirect-lb1-int het script /usr/local/hobbynet/bin/updatenieuwecerts.sh als root<br>
Draai op redirect-lb1-int het script [[Redirect_server#.2Fusr.2Flocal.2Fhobbynet.2Fbin.2Fupdate-apache.sh|/usr/local/hobbynet/bin/update-apache.sh]] als root.<br>
Hier is certificaat aangevraagd en is de redirect actief gemaakt<br>
Hier wordt het certificaat aangevraagd, en de redirect actief gemaakt.<br>
Deze stap kan je bewaren op laatst als je meerdere domeinen hebt
Deze stap kan je bewaren tot het laatst als je meerdere domeinen hebt.
 
== redirect aanpassen ==
== redirect aanpassen ==
=== stap 1 ===
=== stap 1 ===
Op dbclus01-int is database genaamd redirect met hier in een tabel redirects.<br>
Op dbclus01-int is database genaamd 'redirect' met hierin een tabel 'redirects'.<br>
Pas hier voor het desbetrefende domein de de redirect url en
Pas hier voor het desbetreffende domein de redirect URL aan.
 
=== stap 2 ===
=== stap 2 ===
Draai op redirect-lb1-int het script /usr/local/hobbynet/bin/updatenieuwecerts.sh als root<br>
Draai op redirect-lb1-int het script /usr/local/hobbynet/bin/updatenieuwecerts.sh als root.<br>
De apache config wordt aangepast en herladen  
De Apache config wordt aangepast en herladen.
 
== redirect verwijderen ==
== redirect verwijderen ==
=== stap 1 ===
moet nog script voor gemaakt worden
Op dbclus01-int is database genaamd redirect met hier in een tabel redirects.<br>
nu is met de hand eerst het certificaat revoken:
verwijder het desbetrefende domein uit de tabel
certbot revoke --cert-path /etc/letsencrypt/'''domeinnaam'''/cert.pem
=== stap 2 ===
daarna haal je uit de database het desbetreffende domein
Draai op redirect-lb1-int het script /usr/local/hobbynet/bin/updatenieuwecerts.sh als root<br>
 
De apache config wordt aangepast en herladen <br>
Bestaande certificaten verlopen van zelf binnen 3 maanden
= scripts =
= scripts =
== updatenieuwecerts.sh ==  
Alle scripts draaien op redirect-lb1-int.
Dit script zet apache op de beide server uit en roept het script maakcert.php om nieuwe certificaten aan te vragen en start hierna weer apache op beide servers
 
== maakcert.php ==
== /usr/local/hobbynet/bin/update-apache.sh ==  
Dit script kijkt in database of er nog domeinen zijn waar voor een certificaat aangevraagd moet worden en zo ja maakt hij deze aan.
Dit script zet eerst apache uit op de redirect-lb2 en lb3.<br>
== maakapacheconf.php ==
Daarna gaat kijken of er certificaten vernieuwd moeten worden, en vernieuwd deze zo nodig. <br>
Dit script maakt aan de hand van de database de apache configuratie voor de redirects
Daarna kijkt hij over nieuwe certificaten nodig zijn en vraagt die aan.[[Redirect_server#.2Fusr.2Flocal.2Fhobbynet.2Flib.2Fupdatecerts.php|updatecerts.php]]<br>
== renewcerts.sh ==
Daarna maakt hij nieuwe apacheconfiguratie.[[Redirect_server#.2Fusr.2Flocal.2Fhobbynet.2Flib.2Fmaakconfig.php|maakconfig.php]]<br><br>
Dit script verlengt elke nacht automatisch waar nodig de certificaten
Herstart locale apache om de de nieuwe apache configuratie te activeren. <br>
Kopieert deze configuratie naar redirect-lb2 en lb3 en start daar apache weer.<br>
 
== /usr/local/hobbynet/lib/updatecerts.php ==
Dit script kijkt in de database of er nog certificaten moeten worden aangevraagd zo ja vraagt hij deze aan.
 
== /usr/local/hobbynet/lib/maakconfig.php ==
Dit script maakt aan de hand van de database een apache configuratie file aan.
== /usr/local/hobbynet/lib/addredirect.php ==
Met dit script kan je heel eenvoudig een redirect toevoegen aan de database vanaf de cli
== /usr/local/hobbynet/bin/addredirect.sh ==  
simpel script dat het php script /usr/local/hobbynet/lib/addredirect.php aanroept:
Gebruik: addredirect.sh <domeinnaam> <redirecturl> <static= optioneel standaard 0>
 
= 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 ==
{| class="wikitable"
|-
| 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 =  
= Loadbalancer =  
De loadbalancer configuratie is iets anders dan standaard, op lb1 wordt niet getest of apache draait ivm met het testen let's encrypt daarom worden ook bij toevoegen apache gestopt<br>
De loadbalancer configuratie is iets anders dan standaard.<br>
Dit is ook de reden waarom je niet in productie sites let's encrypt gebruikt
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.<br>
Dit is ook de reden waarom je niet in productie sites Let's Encrypt gebruikt.

Latest revision as of 19:06, 28 December 2020

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/update-apache.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

moet nog script voor gemaakt worden nu is met de hand eerst het certificaat revoken:

certbot revoke --cert-path /etc/letsencrypt/domeinnaam/cert.pem

daarna haal je uit de database het desbetreffende domein

scripts

Alle scripts draaien op redirect-lb1-int.

/usr/local/hobbynet/bin/update-apache.sh

Dit script zet eerst apache uit op de redirect-lb2 en lb3.
Daarna gaat kijken of er certificaten vernieuwd moeten worden, en vernieuwd deze zo nodig.
Daarna kijkt hij over nieuwe certificaten nodig zijn en vraagt die aan.updatecerts.php
Daarna maakt hij nieuwe apacheconfiguratie.maakconfig.php

Herstart locale apache om de de nieuwe apache configuratie te activeren.
Kopieert deze configuratie naar redirect-lb2 en lb3 en start daar apache weer.

/usr/local/hobbynet/lib/updatecerts.php

Dit script kijkt in de database of er nog certificaten moeten worden aangevraagd zo ja vraagt hij deze aan.

/usr/local/hobbynet/lib/maakconfig.php

Dit script maakt aan de hand van de database een apache configuratie file aan.

/usr/local/hobbynet/lib/addredirect.php

Met dit script kan je heel eenvoudig een redirect toevoegen aan de database vanaf de cli

/usr/local/hobbynet/bin/addredirect.sh

simpel script dat het php script /usr/local/hobbynet/lib/addredirect.php aanroept:

Gebruik: addredirect.sh <domeinnaam> <redirecturl> <static= optioneel standaard 0>

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.