据我所知,Nginx的只能从密码配置文件(S)内保护目录。这工作得很好,但不是为最终用户提供真正的选择谁的 A)的不能编辑CONFIGS和 B)将打破,如果他们能

CONFIGS

现在我想的目录结构,在那里他们可以指向和点击的基于网络的表示 - 重写CONFIGS并重新杀 - HUP-ING Nginx的... 但不知何故,整个构思感觉就像我即将改写的cPanel v0.0.1; - )

在这里任何人有同样的问题,并与一个优雅和维护的解决方案提出了? 我有超过服务器的完全控制。

谢谢!

有帮助吗?

解决方案

您真的不希望用户更改的configs,你呢? 对于密码保护,一个htpasswd的文件就足够了,如果境界始终保持不变。 而Nginx的本身可以检查文件存在性。 所以,这是可以做的工作:

  location ~ ^/([^/]*)/(.*) {
        if (-f $document_root/$1/.htpasswd) {
                error_page 599 = @auth;
                return 599;
        }
  }
  location @auth {
        auth_basic "Password-protected";
        auth_basic_user_file $document_root/$1/.htpasswd;
  }

Works的我的nginx-0.7.65。 0.6.x和更早的版本可能是不走

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top