Χρήστος Μαργιώλης

Σεττάρισμα OpenBSD Web server

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). Πρέπει να ορίσετε τα παρακάτω πράγματα:

Δημιουργήστε το 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

← Προηγούμενο Ευρετήριο Επόμενο →