Regarding the rewrite rules below, `man git-http-backend` is instructive
...though it would be better if updated for OpenBSD's native `httpd` ;)
K.
> 6) set /etc/httpd.conf
>
> server "default" {
> listen on 0.0.0.0 port 80
>
> # these two rules are trying to match
> https://git-scm.com/docs/git-http-backend
> <https://git-scm.com/docs/git-http-backend>,
> # but I suspect that I botched them...
> location match
> "^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$" {
> request rewrite "/usr/local/libexec/git/git-http-backend/%1"
> }
> location match
> "^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$" {
> request rewrite "/usr/local/libexec/git/git-http-backend/%1"
> }
>
> location "/docs/*" {
> fastcgi {
> socket "/run/slowcgi.sock"
> param DOCUMENT_ROOT "/"
> param GIT_HTTP_EXPORT_ALL ""
> param GIT_PROJECT_ROOT "/git-repos"
> param SCRIPT_FILENAME
> "/usr/local/libexec/git/git-http-backend"
> }
> }
> }