¡Esta es una revisión vieja del documento!
httpd(8)
Este artículo es sobre el httpd de OpenBSD, no confundir con el software de la fundación Apache con el mismo nombre.
Introducción
Realmente lo que se debería hacer es crear un servicio http con httpd en una IP privada/de loopback y luego usar relayd o haproxy para redirigir el tráfico al mundo de fuera. Idealmente el relayd o haproxy está en una máquina distinta (la máquina que da al internet)
La configuración de httpd se encuentra en /etc/httpd.conf. Puedes ver un ejemplo de como configurarlo en /etc/examples/httpd.conf (copiado aquí abajo)
Esta configuración es demasiado básica (aunque funciona perfectamente)
- /etc/httpd.conf
# $OpenBSD: httpd.conf,v 1.22 2020/11/04 10:34:18 denis Exp $ server "example.com" { listen on * port 80 location "/.well-known/acme-challenge/*" { root "/acme" request strip 2 } location * { block return 302 "https://$HTTP_HOST$REQUEST_URI" } } server "example.com" { listen on * tls port 443 tls { certificate "/etc/ssl/example.com.fullchain.pem" key "/etc/ssl/private/example.com.key" } location "/pub/*" { directory auto index } location "/.well-known/acme-challenge/*" { root "/acme" request strip 2 } }
Total, que esto crea un servicio en el puerto 80 que lo único que hace es redirigir todo el tráfico a el puerto 443. Todo con el dominio “example.com” (así que el certificado debería ser para ese dominio). Para generar certificados SSL fácilmente con OpenBSD vea acme-client. Que es certbot si fuese un buen programa.
Puedes iniciar httpd(8) con rcctl(8):
rcctl enable httpd rcctl start httpd
Configuración de httpd mas avanzada
Lo de arriba está bien pero eventualmente vas a querer mas cosas como CGI o PHP. OpenBSD trae su propio servidor FastCGI así que esto es relativamente fácil. Debes iniciar el servicio con
rcctl enable slowcgi rcctl start slowcgi