valid_referers localhost;
set $private "0";
if ($request_uri ~* "/private/"){
set $private "${private}1";
}
if ($invalid_referer) {
set $private "${private}2";
}
if ($private = "012") {
return 403;
}
在nginx中加入一些判断,检测路径是否私用,并检测是不是通过浏览地址直接访问。
加入上面的判断后,私有路径只能程序内部调用,通过浏览器地址访问直接返回403状态。
默认的403页面在nginx安装目录中html文件夹内,可以通过配置更换位置:
error_page 403 /403.html;
location = /403.html {
root E:/dgz918/public/error;
internal;
}
这里可以设计一个专用403页面。