Nginx中巧用return来测试

最近用到一个项目部署到服务器上,发现在nginx上配置proxy_pass之后请求参数丢失了,查询了很久一直没找到原因,后来使用nginx中return,把参数打印出来,这样成功解决了问题。

  • 返回状态码

nginx 配置如下:

location = /test {
      return 403 ;
}

通过返回的页面为: 403 Forbidden 正常的403错误返回码报错

  • 返回 文本信息和json
location ^~ /pic {
    default_type text/html ;
    return 200  'hello world! ';
}

location ^~ /pic {
    default_type application/json ;
    return 200  '{"name":"nanjing_wuxu","result":"success"}';
}
  • 直接跳转功能
location ^~ /pic {
     return http://192.168.1.19/test.jpg;
}
  • 直接返回$queryString, $document_root $fastcgi_path_info
location ^~ /pic {location ~ \.php(.*)$ {
     default_type text/html ;
    return 200  $document_root;
}

location ^~ /pic {location ~ \.php(.*)$ {
     default_type text/html ;
    return 200  $fastcgi_path_info;
}

location ^~ /pic {location ~ \.php(.*)$ {
     default_type text/html ;
    return 200  $queryString;
}

以上你可以通过nginx的return功能来做确认转发之前是否已经把所有信息都转发了

你可能感兴趣的