仅允许经过身份验证的用户上传(nginx + upload_module)

仅允许经过身份验证的用户上传(nginx + upload_module)

我已经使用 upload_module 配置了 Nginx。

我可以上传和恢复文件,但任何人都可以发布到/upload 位置。

有没有办法使位置 /upload 成为内部并使用 X-Accel-Redirect,以便只有经过身份验证的用户才能发布文件?

或者有任何关于如何保护服务器的想法,以便只有特定用户才能发布文件,并在应用程序端具有身份验证逻辑?

答案1

你可以使用 nginx 的auth_basic授权请求或使用任何其他身份验证方法来包装该/upload位置。

答案2

您需要使用 ngx_http_auth_basic_module,它允许通过使用“HTTP 基本身份验证”协议验证用户名和密码来限制对资源的访问。

server {
    # auth
    auth_basic "Restricted site";
    auth_basic_user_file /opt/nginx/.htpasswd;
}

相关内容