HTTPS
Ο acme-client(1) μας δίνει HTTPS.
Δημιουργήστε τα directories των πιστοποιητικών:
# mkdir -p -m 700 /etc/ssl/private
# mkdir -p -m 755 /var/www/acme
Τροποποιήστε το /etc/acme-client.conf. Αντικαταστήστε το example.org με το
δικό σας domain:
authority letsencrypt {
api url "https://acme-v02.api.letsencrypt.org/directory"
account key "/etc/ssl/private/letsencrypt.key"
}
domain example.org {
domain key "/etc/ssl/private/example.org.key"
domain certificate "/etc/ssl/example.org.crt"
domain full chain certificate "/etc/ssl/example.org.pem"
sign with letsencrypt
}
httpd(8)
Το OpenBSD εξαρχής συνοδεύεται με έναν web server: httpd(8). Πρέπει να ορίσετε τα παρακάτω πράγματα:
- Το domain name.
- Σε ποιά ports ακούει ο server.
- Πού βρίσκεται το root directory της ιστοσελίδας.
Δημιουργήστε το root directory της ιστοσελίδας. Συνήθως πρέπει να βρίσκεται στο
/var/www/htdocs:
# mkdir -p /var/www/htdocs/example.org
Η παρακάτω ρύθμιση είναι αρκετή για την ώρα. Με αυτήν, έχετε HTTP και HTTPS για
την ιστοσελίδα σας, καθώς και αυτόματη ανακατεύθυνση HTTP σε HTTPS. Εάν θέλετε
να μάθετε παραπάνω, ή να δείτε τι άλλες επιλογές και ρυθμίσεις είναι
διαθέσιμες, διαβάστε το
man page του httpd.conf(5).
Στο /etc/httpd.conf θα γράψουμε τα παρακάτω:
server "example.org" {
listen on * port 80
root "/htdocs/example.org"
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
block return 301 "https://example.org$REQUEST_URI"
}
server "example.org" {
listen on * tls port 443
root "/htdocs/example.org"
tls {
certificate "/etc/ssl/example.org.pem"
key "/etc/ssl/private/example.org.key"
}
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
}
Παράξτε τα πιστοποιητικά TLS:
# acme-client -v example.org
Ελέγξτε ότι η διαμόρφωση είναι σωστή:
# httpd -n
(Επαν)εκκινήστε τον web server:
# rcctl restart httpd
Ανανέωση πιστοποιητικών
Τα πιστοποιητικά TLS λήγουν μετά από λίγους μήνες, οπότε και πρέπει να παραχθούν νέα. Προκειμένου να αποφύγετε να χρειαστεί να το θυμάστε, αυτό θα γίνεται αυτόματα μέσω ενός cronjob:
# crontab -e
Προσθέστε την παρακάτω γραμμή:
0 0 * * * acme-client -v example.org && rcctl reload httpd