nginx拒绝访问JS和CSS

时间:2015-08-03 08:23:16

标签: javascript css node.js nginx

我使用在nginx后面设置的node.js设置了一个网页。 Everythings工作正常,但我想阻止直接公开访问我的css和js文件

在我的nginx配置中,我有类似的东西:

active{display:none;}

它确实阻止访问 - 当我在我的网页上查看源并尝试直接导航到css或链接的js文件时,我收到403错误。但是,这也会阻止node / nginx正确使用这些文件来为页面设置样式/添加功能

阻止人们直接访问这些文件的正确方法是什么,同时仍然可以使用它们来显示页面本身?

2 个答案:

答案 0 :(得分:1)

没有办法。

浏览器可以访问该文件并在页面中使用它,或者它根本无法访问该文件。

你可以尝试使用referer请求标头,但是你会得到漏报,并且已下载页面的人无论如何都可以访问JS(来自缓存或从浏览器的开发人员工具中的“脚本”选项卡中获取。

答案 1 :(得分:0)

您应该使用标准ngx_http_referer_module来阻止文件的热链接:

valid_referers none blocked server_names;
location /style/ {
    if ($invalid_referer) {
        return 403;
    }
    root /path/to/files;
}

在文档中查找详细信息 - http://nginx.org/en/docs/http/ngx_http_referer_module.html