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反向代理。
四、
nginx的返回值替换模块sub_filter相关推荐
- nginx会话保持值sticky模块
阅读目录 1.Sticky工作原理 2.重新编译nginx增加nginx-sticky-module模块 3.sticky模块的使用 4.其他的参数:语法 5.其他需要注意的 nginx会话保持之ng ...
- python执行cmd系统命令获取返回值的几种方式
python 执行shell命令 注:python3.X模块中以废弃commands该模块,使用subprocess模块在本文下面增加解说 本篇介绍如何使用python在cmd上执行shell命令 用 ...
- Nginx使用-已安装的ngix上添加新的模块sub_filter
目录 一.sub_filter模块介绍 二.安装说明 三.安装和配置 一.sub_filter模块介绍 sub_filter模块为nginx官方自带的模块,功能为替换掉返回给客户端数据的指定内容.需要 ...
- 【C 语言】字符串模型 ( 两头堵模型 | 将 两头堵模型 抽象成业务模块函数 | 形参返回值 | 函数返回值 | 形参指针判空 | 形参返回值操作 )
文章目录 一.将 两头堵模型 抽象成业务模块函数 二.完整代码示例 一.将 两头堵模型 抽象成业务模块函数 将 两头堵模型 抽象成业务模块函数 相关要点 : 形参返回值 : 函数的返回值 , 一般使用 ...
- boost::signals2模块实现用于从槽返回值到信号调用的示例程序
boost::signals2模块实现用于从槽返回值到信号调用的示例程序 实现功能 C++实现代码 实现功能 boost::signals2模块实现用于从槽返回值到信号调用的示例程序 C++实现代码 ...
- NSubstitute完全手册(八)替换返回值
如果需要的话,一个方法或属性的返回值可以被设置多次.只有最后一次设置的值将被返回. 1 public interface ICalculator 2 { 3 int Add(int a, int b) ...
- python——函数(定义函数、传递实参、返回值、传递列表、传递任意数量的实参、将函数存储在模块中、函数编写指南)
目录 定义函数 传递实参 返回值 传递列表 传递任意数量的实参 将函数存储在模块中 函数编写指南 定义函数 #------定义函数---------- def user():print('hello! ...
- 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys
目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...
- webapi json返回值null替换为空字符串
.netcore webapi json返回值序列化null替换为空字符串 场景:数据库中部分表字段允许空值,则代码中实体类对应的字段类型为可空类型Nullable<>,如int?,Dat ...
- 【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解
findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表. 注意: match 和 search 是匹配一次 findall 匹配所有,mat ...
最新文章
- 月薪40~50K|波波生活信息技术公司招聘高级算法工程师
- 如何搭建mysql的学习环境_Mysql学习笔记【一、环境安装配置】
- Ubuntu下安装Python开发的Facebook Faiss相似性搜索工具
- 【高德地图开发2】---配置工程
- pr文字转语音有插件吗_文字转语音软件深度解析
- 计算机组成原理 北理,北京理工大学计算机组成原理期末复习.pdf
- iOS绘图UIBezierPath 和 Core Graphics框架
- AttributeError: module 'sys' has no attribute 'maxint'
- 2018年AI和ML(NLP,计算机视觉,强化学习)技术概述和2019年趋势
- c语言常量有哪些分类,c语言常量的正确表示方法有哪些
- java ppt转图片 失真_java转换ppt,ppt转成图片,获取备注,获取文本
- [Maven]讲讲它的构建生命周期和拉取 jar 包流程
- 七牛云 播放的时候显示错误信息:视频解析异常 请重试
- 创业布局移动端App,应该先做Android还是iOS?
- 需求预测模型分类与选择
- UE Gameplay入门48(骨架网格体的混合空间)
- ic集成电路专业通信计算机咋选,2021年美国留学研究生EE专业详解,选校选专业必备!...
- python 实现根据问题在文章中找到答案
- LeetCode 2331. 计算布尔二叉树的值(树的遍历)
- 2020数学建模国赛(A)炉温曲线