nginx下游服务异常定向统一页面

171 阅读1分钟

统一通用页面可以采用该方案

背景说明

在nginx作为代理网关层,正常业务流情况下,下游服务不会有暴露下游服务信息情况,但是一旦出现下游服务停机/异常流量,就可以对外披露内部服务群的信息。防君子不防小人啊!!!但是,我们可以通过对下游服务的状态码来进行服务隐私信息保护

实操

0. 查看nginx的版本

cd /usr/local/nginx/sbin/

./nginx -V

image.png

1. 查看nginx的配置文件

查看是否有统一页面配置

image.png

2. 开启配置


fastcgi_intercept_errors on;
proxy_intercept_errors on;

这个配置必须要配置,其实就是告诉nginx下游服务的状态码大于300的情况下,是否要交给error_page来处理,下面是官网解释

image.png

配置统一错误页面

编写404页面/50x页面

 cd /usr/local/nginx/html 
 
echo "stop request now !!!" >> stop.html

image.png

配置错误页面跳转

 	error_page   404 401 402    /stop.html;	
 	 		   
	error_page   500 501 502 503 505    /50x.html;			

nginx重新加载配置文件

 cd /usr/local/nginx/sbin 
 ./nginx -t
 ./nginx -s reload

image.png

效果对比

未修改

明显对外暴露了我们下游服务群的情况,怕有心人嗅探攻击,可以看到tomcat等版本信息

1714379134583.jpg

已修改

生效了,达到效果,没有对外披露信息

1714379266754.jpg

参考内容

nginx官网文档说明