OpenBSD下cgit路径配置问题:访问/cgit出现404错误
OpenBSD httpd 配置修正方案
你的问题核心是当前配置未正确处理/cgit路径的CGI请求,且文件路径映射逻辑有误,直接给你修正后的配置及说明:
ext_ip="0.0.0.0" server "default" { listen on "0.0.0.0" port 80 # 处理主页请求:根路径直接指向/var/www/web目录 location "/" { directory index index.html root "/var/www/web" no fastcgi } # 处理cgit静态资源(cgit.css、cgit.png等) # 访问/cgit/cgit.*时,实际读取/var/www/cgit下的对应文件 location "/cgit/cgit.*" { root "/var/www" no fastcgi } # 处理cgit的CGI请求:所有/cgit开头的非静态请求转发到cgit.cgi location "/cgit/*" { root "/var/www/cgi-bin" fastcgi socket "/run/slowcgi.sock" fastcgi param SCRIPT_NAME "/cgit" fastcgi param PATH_INFO $PATH_INFO } }
关键修正点:
- 主页
location "/"直接指定root为/var/www/web,确保根路径能正确加载index.html - cgit静态文件的root设为
/var/www,让/cgit/cgit.css对应到实际路径/var/www/cgit/cgit.css - 新增
location "/cgit/*"专门处理CGI请求,指定root为cgit.cgi所在的/var/www/cgi-bin,同时设置FastCGI参数让cgit识别自身访问路径,避免解析错误
操作步骤:
- 备份当前
/etc/httpd.conf配置文件 - 替换为上述修正后的配置
- 检查配置语法合法性:
httpd -n - 重启httpd服务:
rcctl restart httpd - 确认slowcgi服务运行:
rcctl check slowcgi,未运行则执行rcctl start slowcgi
完成后访问[website-link]/cgit即可正常打开。
内容的提问来源于stack exchange,提问作者ethqnol
相关产品推荐
相关产品推荐

