nginx的返回值替换模块sub_filter

一、背景介绍

由于生产环境只能暴露一个80端口,但是我们又想让grafana服务器能够被外网访问到,所以只能通过虚拟路径的方式访问,访问结构如下图:

二、问题描述

但是在使用nginx反向代理访问grafana的时候报这个错误:

nginx配置如下:

location /grafana/   {

        proxy_pass http://192.168.10.1:8080;

}

三、原因分析

导致这个问题的原因是grafana的login页面里面引用的css和js文件的路径是相对路径,如下所示:

当这个路径返回给浏览器后,浏览器从这个路径访问对应的js和css文件是访问不到的,因为当前是在DMZ的nginx服务器上,DMZ服务器是没有这些js和css文件的,我们必须也通过反向代理访问内网区的grafana服务器上的js和css文件才行,要访问grafana服务器上的js和css文件,需要有/grafana路径前缀,否则无法被nginx反向代理。

四、

猜你喜欢

转载自blog.csdn.net/dragonpeng2008/article/details/127135788
今日推荐