PfSense + letsencrypt + haproxy
Installationen er lavet på en pfsense 2.3.2p1
acme client
Skrevet 2016-12-30 - justeringer kan være nødvendige iht ændringer i github fork'en osv.
Acme er protokollen bag letsencrypt, så der skal installeres noget software til at styre denne. Pt er den ikke officielt med i pfSense, men ligger som en PR på github så den skal lige bygges.
- Lav en freebsd 10.3vm
- pkg install git
- git clone -b pfsense-acme-0.1 https://github.com/PiBa-NL/FreeBSD-ports
- cd FreeBSD-ports/security/pfSense-pkg-acme/
- vim ./files/usr/local/pkg/acme/acme.inc
- gå til linie 516
- efter linien
$directory = $domain_info['webrootfolder'];
tilføjes disse 2 linier
if ( isset($directory)==false || $directory == "") $directory = "/usr/local/www/.well-known/acme-challenge/";
- byg pakken med
make package
- kopier work/pkg/pfSense-pkg-acme-0.1.txz over på pfSense
- installer med
pkg install pfSense-pkg-acme-0.1.txz
acme validering + haproxy
letsencrypt/acme kan validere domain på flere måder (http/ftp/dns mm) og pfsense/acme indeholder metoder til dem alle(+ en håndfuld integrationer til dns validering), dog vil jeg mene at http valideringen er den enkleste.
- Installer haproxy pakken på pfSense hvis den ikke allerede er der
- tilføj en backend der peger på pfsense management interfacet
- på port 80 frontend'en
- tilføj en ACL:
- Name: acme
- Expression: Path starts with
- Value: /.well-known
- Tilføj en regel der knytter acme ACL'en sammen med pfsense backend'en
- tilføj en ACL:
- gem + reload osv.
Der er nu klar til at få lavet letsencrypt certs med http validering