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

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

该网址将我带到电子表格并打开demo.xls

我了解basic_auth,但该图仅适用于目录。

最佳答案

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

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


您的案例将无法使用,因为“#”之后的部分是uri的fragment identifier,并且客户端(例如浏览器)根本不会将此部分发送到服务器。

例如当我们使用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数据。

10-08 09:32