为了在我的 NixOS 安装上运行网络服务器,我在我的 configuration.nix 中包含了以下内容。 (请注意,我在设置服务器方面经验很少,并且没有找到下面包含的所有参数的确切定义。)
服务.httpd = { 启用=真; adminAddr = "本地主机"; extraModules = [“http2”]; 虚拟主机 = [ { 主机名 = "本地主机"; documentRoot =“/home/edmund/docroot”; 启用用户目录 = true; 服务目录 = [ { urlPath = "/www";目录=“/www”; } ]; 服务器别名 = [“localhost”]; 启用 SSL = false; } ]; };
但是,当我尝试通过访问默认的index.html页面时http://localhost在 Firefox 浏览器上,出现的消息是“访问被禁止!”错误 403'(带有一些附加的描述性文本)。
这是因为 HTTPD_ROOT 和 httpd.conf 文件中列出的 DocumentRoot 似乎都指向 /nix/store 内的目录,该目录具有严格锁定的权限? (而不是我指定的文档根目录。)
如何配置该服务器来显示页面?
谢谢。
答案1
“这是因为 httpd.conf 文件中列出的 HTTPD_ROOT 和 DocumentRoot 似乎都指向 /nix/store 内的目录,”
可能吧。也可能index.html
在任何所谓的“DocumentRoot”中实际上不存在名为 的文件
httpd.conf
优先。所以任何外部文件必须包含在该文件中,以更改httpd.conf
.
任何更明确的答案都需要您提供您提到的所谓的“一些附加描述性文本”。该附加文本通常是对以下内容的描述:为什么就发生了那次失败。
最后;你为什么要试图与你已经定义的内容相矛盾httpd.conf
?在目前的背景下,这没有任何意义。
华泰