如果文件存在,则 Nginx 启用目录列表;如果另一个文件存在,则启用基本身份验证

如果文件存在,则 Nginx 启用目录列表;如果另一个文件存在,则启用基本身份验证

我正在开发一个网站,用户可以通过 FTP 上传文件,并可以在 HTTPS 链接上看到这些文件。

我希望他们能够

  • 1,通过放置一个简单的“enabledirlisting.txt”文件来启用特定目录中的目录列表

  • 2,通过输入“userpasswordfile.txt”(基本身份验证文件就是该文件)来启用基本身份验证

像这样:

location $request_filename {
            if (-f $request_filename/enabledirlisting.txt) {
                            break;
            }
            autoindex off;

            if (-f $request_filename/userpasswordfile.txt) {
                            break;
            }

             auth_basic "Password protected directory!";
             auth_basic_user_file $request_filename/userpasswordfile.txt;

    }

但是我有一些问题;

  • 1,它不起作用:P

  • 2,如果第一个条件为假,则第二个条件不会执行(并且我不能制定多个位置指令)

我确信使用 nginx 配置可以实现这一点。还是我必须创建一个模块/编辑 nginx 源代码?如果是这样,我应该从哪里开始做这样的事情?这似乎不太难。

提前致谢

相关内容