Menyalakan SSL pada OpenBSD tidak pernah semudah ini dengan acme-client yang akan kita diskusikan tahap-tahapannya pada artikel ini!
Acme Client dan Httpd
Pertama kalinya saya memanfaatkan OpenBSD sebagai server dan terkejut saat mencobanya karena perbedaan signifikan dengan Linux.
Jika di Linux, kita terbiasa dengan Nginx atau Apache sebagai web server dan Certbot untuk menghasilkan kunci SSL. Tentu tidak standar apabila menggunakan ketiga hal pada OpenBSD. Alih – alih tiga hal, pengguna umum OpenBSD lebih menggunakan Acme Client sebagai pengganti Certbot dan Openbsd’s httpd pengganti Nginx atau Apache.
Cara Menyalakan SSL pada OpenBSD
Di sini kita memanfaatkan SSL gratisan tanpa batasan waktu dari Let’s Encrypt.
Sunting berkas /etc/acme-client.conf
dalam keadaan root.
$ doas vim /etc/acme-client.conf
Buatlah konfigurasi baru seperti di bawah dan sesuaikan dengan kebutuhan anda.
authority letsencrypt {
api url "https://acme-v02.api.letsencrypt.org/directory"
account key "/etc/ssl/private/letsencrypt.key"
}
domain www.contoh.com {
alternative names { contoh.com }
domain key "/etc/ssl/private/www.contoh.com.key"
domain certificate "/etc/ssl/www.contoh.com.crt"
domain full chain certificate "/etc/ssl/www.contoh.com.pem"
sign with letsencrypt
}
Code language: JavaScript (javascript)
Buat direktori baru untuk menyimpan kunci SSL
$ doas mkdir -p -m 700 /etc/ssl/private
$ doas mkdir -p -m 755 /var/www/acme
Code language: PHP (php)
Jalankan perintah acme-client
untuk menghasilkan SSL gratis dari Let’s Encrypt.
$ acme-client -v www.contoh.com
Buatlah konfigurasi httpd
seperti di bawah dengan penyesuaian sesuai kebutuhan anda.
server "www.contoh.com" {
listen on * tls port 443
root "/htdocs/www.contoh.com"
tls {
certificate "/etc/ssl/www.contoh.com.pem"
key "/etc/ssl/private/www.contoh.com.key"
}
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
}
server "example.com" {
listen on * tls port 443
tls {
certificate "/etc/ssl/www.example.com.pem"
key "/etc/ssl/private/www.example.com.key"
}
block return 301 "https://www.example.com$REQUEST_URI"
}
server "www.example.com" {
listen on * port 80
root "/htdocs/www.example.com"
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
}
server "example.com" {
listen on * port 80
block return 301 "http://www.example.com$REQUEST_URI"
}
Code language: JavaScript (javascript)
Kita periksa apakah konfigurasi httpd
sudah benar atau belum melalui perintah ini.
# httpd -n
configuration ok
Code language: PHP (php)
Restart httpd
agar perubahan dapat dimuat
# rcctl -f restart httpd
httpd (ok)
httpd (ok)
Code language: PHP (php)
Leave a Reply