一、背景介绍

由于生产环境只能暴露一个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相关推荐

  1. nginx会话保持值sticky模块

    阅读目录 1.Sticky工作原理 2.重新编译nginx增加nginx-sticky-module模块 3.sticky模块的使用 4.其他的参数:语法 5.其他需要注意的 nginx会话保持之ng ...

  2. python执行cmd系统命令获取返回值的几种方式

    python 执行shell命令 注:python3.X模块中以废弃commands该模块,使用subprocess模块在本文下面增加解说 本篇介绍如何使用python在cmd上执行shell命令 用 ...

  3. Nginx使用-已安装的ngix上添加新的模块sub_filter

    目录 一.sub_filter模块介绍 二.安装说明 三.安装和配置 一.sub_filter模块介绍 sub_filter模块为nginx官方自带的模块,功能为替换掉返回给客户端数据的指定内容.需要 ...

  4. 【C 语言】字符串模型 ( 两头堵模型 | 将 两头堵模型 抽象成业务模块函数 | 形参返回值 | 函数返回值 | 形参指针判空 | 形参返回值操作 )

    文章目录 一.将 两头堵模型 抽象成业务模块函数 二.完整代码示例 一.将 两头堵模型 抽象成业务模块函数 将 两头堵模型 抽象成业务模块函数 相关要点 : 形参返回值 : 函数的返回值 , 一般使用 ...

  5. boost::signals2模块实现用于从槽返回值到信号调用的示例程序

    boost::signals2模块实现用于从槽返回值到信号调用的示例程序 实现功能 C++实现代码 实现功能 boost::signals2模块实现用于从槽返回值到信号调用的示例程序 C++实现代码 ...

  6. NSubstitute完全手册(八)替换返回值

    如果需要的话,一个方法或属性的返回值可以被设置多次.只有最后一次设置的值将被返回. 1 public interface ICalculator 2 { 3 int Add(int a, int b) ...

  7. python——函数(定义函数、传递实参、返回值、传递列表、传递任意数量的实参、将函数存储在模块中、函数编写指南)

    目录 定义函数 传递实参 返回值 传递列表 传递任意数量的实参 将函数存储在模块中 函数编写指南 定义函数 #------定义函数---------- def user():print('hello! ...

  8. 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys

    目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...

  9. webapi json返回值null替换为空字符串

    .netcore webapi json返回值序列化null替换为空字符串 场景:数据库中部分表字段允许空值,则代码中实体类对应的字段类型为可空类型Nullable<>,如int?,Dat ...

  10. 【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解

    findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表. 注意: match 和 search 是匹配一次 findall 匹配所有,mat ...

最新文章

  1. 月薪40~50K|波波生活信息技术公司招聘高级算法工程师
  2. 如何搭建mysql的学习环境_Mysql学习笔记【一、环境安装配置】
  3. Ubuntu下安装Python开发的Facebook Faiss相似性搜索工具
  4. 【高德地图开发2】---配置工程
  5. pr文字转语音有插件吗_文字转语音软件深度解析
  6. 计算机组成原理 北理,北京理工大学计算机组成原理期末复习.pdf
  7. iOS绘图UIBezierPath 和 Core Graphics框架
  8. AttributeError: module 'sys' has no attribute 'maxint'
  9. 2018年AI和ML(NLP,计算机视觉,强化学习)技术概述和2019年趋势
  10. c语言常量有哪些分类,c语言常量的正确表示方法有哪些
  11. java ppt转图片 失真_java转换ppt,ppt转成图片,获取备注,获取文本
  12. [Maven]讲讲它的构建生命周期和拉取 jar 包流程
  13. 七牛云 播放的时候显示错误信息:视频解析异常 请重试
  14. 创业布局移动端App,应该先做Android还是iOS?
  15. 需求预测模型分类与选择
  16. UE Gameplay入门48(骨架网格体的混合空间)
  17. ic集成电路专业通信计算机咋选,2021年美国留学研究生EE专业详解,选校选专业必备!...
  18. python 实现根据问题在文章中找到答案
  19. LeetCode 2331. 计算布尔二叉树的值(树的遍历)
  20. 2020数学建模国赛(A)炉温曲线

热门文章

  1. 打字不会学计算机,不会拼音打字怎么学
  2. Python | 程序查找列表中最小和最大元素的位置
  3. 切片器可以设置日期格式?_如何分秒必争浅淡时间切片器
  4. C语言经典面试题 与 C语言面试宝典
  5. 理解SPI/Dual SPI/Quad SPI/QPI之间的区别
  6. 求助vscode格式化插件beautify的用法
  7. 阿里云免费服务器测试题答案
  8. Discuz采集之Discuz论坛采集全网文章采集伪原创发布方法(图文)
  9. 时钟相位噪声测量中的杂散
  10. W806/W801/W800多通道ADC同时使用