1、获取请求头参数并校验
1)Nginx和NJS安装部署看之前文章,Nginx安装,NJS安装
2)使用NJS获取请求头参数
modify_set_headers.js
function headers_filter(r) {
var headersVaues = r . headersIn [ 'Content-Type' ];
var headersVaues2 = r . headersIn [ 'clientId' ];
if ( headersVaues2 != '123456789' )
{
r . return ( 401 , "请求头校验不通过\n" ) ;
}
r . return ( 200 , "请求头校验通过\n" ) ;
}
export default {headers_filter};
3)Ngins配置文件修改
nginx.conf
http {
js_import head from modify_set_headers.js;
#设置字符集
charset utf-8;
server {
listen 80;
location /headerVuese {
js_content head.headers_filter;
}
}
}
4)效果
2、获取URL参数并校验
1)使用NJS获取URL参数
URL_Test.js
function url_test(r){
var url = r.variables.request_uri.split("?")[0];
if(url.indexOf("/YunSSo/oauth/authorize") !=-1){
var clientId = r.variables.request_uri.split("?")[1].split("=")[1].split("&")[0];
var url = r.variables.request_uri;
if(clientId !="123456"){
// r.return ( 200 , "1\n" ) ;
return 404;
}else{
// r.return ( 200 , "2\n" ) ;
return 200;
}
// r.return ( 200 , "1\n" ) ;
}else{
// r.return ( 200 , "2\n" ) ;
return 404;
}
// r.return ( 200 , url ) ;
}
export default {url_test};
2)Ngins配置文件修改
nginx.conf
http {
js_import head from URL_Test.js;
js_set $head_foo head.url_test;
#设置字符集
charset utf-8;
#设置自定义异常页面
proxy_intercept_errors on;
server {
listen 80;
location /YunSSo {
if ( $head_foo = 404 ){
return 404;
}
return 200 "成功!";
}
error_page 404 /404.html;
}
}
3)效果