使用 nginx / Tomcat7 和 Java 应用程序保护单个文件

Protect individual file with nginx / Tomcat7 and Java app

我在 ubuntu 服务器上使用 运行 NGINX,并且有一个 Java 应用程序 (ZK Sheets)。我是 运行 tomcat7,想保护特定文件:

domain.com:8080/zssapp/#demo.xls 是我想要保护的文件。

URL 将我带到电子表格并打开 demo.xls

我理解 basic_auth 但我认为这仅适用于目录。

basic_auth 可用于任何位置块。指令 Location 也可以由文件 uri 定义。例如

location /zssapp/demo.xls {
  basic_auth ....;
}

您的案例将无法正常工作,因为“#”之后的部分是 fragment identifier 的 uri,而客户端(例如浏览器)根本不会将这部分发送到服务器。

例如当我们使用 curl 访问 http://localhost:8080/zssapp/#demo.xls

$ curl -v http://localhost:8080/zssapp/#demo.xls

> GET /zssapp/ HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8080
> Accept: */*

我们只能看到/zssapp/作为发送到服务器的uri数据。