nginx代理服务、网关配置

一、nginx安装在服务器,本机运行服务,如何使用远程nginx代理本机服务?

  • 打开nginx配置文件,位置:/usr/local/nginx/conf/nginx.conf,在http模块中添加以下server代码段:
http {server {listen 18088; server_name localhost;  # 服务器地址172.40.252.38location / {proxy_pass http://172.39.128.90:18088; # 目的IP地址proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
}
  • server_name默认为localhost,不用修改,实际为服务器地址。它将监听端口18088。
  • 在location /段中,我们将请求代理到本地主机的端口18088上。注意,proxy_pass指令的参数应该是代理服务器的URL,此处为本机的ip地址(对于服务器就是代理的目标IP地址)。
  • 添加了一些代理头,如Host,X-Real-IP和X-Forwarded-For,以确保代理服务器可以正确地处理请求。
  • 保存配置文件,进入sbin文件夹,-t命令验证配置文件是否正确,显示ok和successful则表示配置文件语法没问题。
cd /usr/local/nginx/sbin
./nginx -t
  • 重启nginx
./nginx -s reload
  • 本地机运行idea项目,springboot启动服务,浏览器中输入网址能获取数据信息:http://172.39.128.90:18088/pms-production-command-center/dict/listAll,服务启动成功。
  • 使用nginx服务代理访问该服务,在浏览器中输入:http://172.40.252.38:18088/pms-production-command-center/dict/listAll,访问成功,获取数据。

二、同一个服务,实际项目发给不同的线下环境进行测试或生产需要加后缀,配置文件中如何处理?(不同的机器,不同的生产环境,不同的服务)

需求:服务没有-test,添加-test后缀请求转发给另一台机器,且能访问原服务,另一台机器IP地址172.39.128.237,不带后缀的服务本机依然可以访问。

  • 打开配置文件,添加location模块
http {server {listen 18088; server_name localhost;  # 服务器地址172.40.252.38location /pms-production-command-center-test {proxy_pass http://172.39.128.237:18088/pms-production-command-center; # 目的IP地址proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}location / {proxy_pass http://172.39.128.90:18088; # 本机IP地址proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
}
  • 保存,验证配置文件,重启nginx
  • 启动服务,访问http://172.39.128.90:18088/pms-production-command-center/dict/listAll,能够获取数据信息,启动成功。
  • 本机浏览器访问http://172.40.252.38:18088/pms-production-command-center/dict/listAll,能够获取数据信息,nginx代理成功。
  • 另一台机器访问http://172.40.252.38:18088/pms-production-command-center-test/dict/listAll,能够获取数据信息,nginx代理另一台机器成功。

三、Nginx简单访问静态资源

目录下存放图片
/usr/data/images/pic.png
配置文件添加location

location / images{root /usr/data;try _files $uri $uri=404; # 找不到文件报错404}

访问http://172.40.252.38:18088/images/pic.png,显示图片访问成功

四、Nginx代理网关

开通服务器中的网关,通过网关端口19000访问服务:http://172.40.252.38:19000/pms-production-command-center-test/dict/listAll,报错404?

404页面未找到两种情形

  • 网关没权限,找不到服务 (带-test)
    在这里插入图片描述

  • 找到服务(服务名正确),sci权限登陆成功,再访问,请求地址拼写错误或者验证信息错误(token令牌:_rt),例如访问的是:http://172.40.252.38:19000/pms-production-command-center-test/dict/listAllaaa

通过nginx代理网关,访问服务,nginx配置文件

网关ip地址就是服务器地址,只是提供一个权限端口访问

http {server {listen 18088; server_name localhost;  # 服务器地址172.40.252.38location / {proxy_pass http://172.40.252.38:19000; # 网关IP地址与端口19000proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
}

502错误

  • 网关关闭

超时504-gateway timeout

  • nginx–网关–服务,下游服务处理时间过长,超时
  • 前置服务–niginx–网关–服务,前置服务设置12秒超时,来回响应时间超时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/31332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stable Diffusion - 人物坐姿 (Sitting) 的提示词组合 与 LoRA 和 Embeddings 配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132201960 拍摄人物坐姿时,需要注意: 选择一个舒适和自然的坐姿,符合个性和心情。可以坐在椅子、沙发、长凳、…

ubuntu安装docker-compose

1.官方安装链接 访问:https://docs.docker.com/compose/install/standalone/ 链接,可以看到如下页面,使用下面圈起来的命令即可 2.安装 使用该命令进行安装,很慢,一直卡着不动,原因是从github中下载&am…

路由导航守卫中document.title = to.meta.title的作用以及路由跳转修改页面title

目录 🔽 document.title to.meta.title的作用 🔽 Vue路由跳转时如何更改页面title 🔽 document.title to.meta.title的作用 路由导航守卫如下: router.beforeEach(async (to, from, next) > {document.title to.meta.ti…

css中的var函数

css中的var函数 假设我们在css文件存在多个相同颜色值,当css文件越来越大的时候,想要改颜色就要手动在每个旧颜色上修改,这样维护工作非常难进行。 但是我们可以使用变量来存储值,这样可以在整个css样式表中重复使用&#xff0c…

HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制概述

ArkUI通过自定义组件的build()函数和builder装饰器中的声明式UI描述语句构建相应的UI。 在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数…

【区块链】Go 实现简单区块链

本文主要利用 Go 语言对区块链模型进行了简单的实现,通过 GoLand 创建链式结构和一个简单的 http server,对外暴露读写接口,运行 rpc 并以地址访问形式向区块链发送数据和读取数据。 简单区块链的实现大致步骤分为: (…

JS逆向系列之猿人学爬虫第14题-备而后动-勿使有变

文章目录 题目地址参数分析参考jspython 调用往期逆向文章推荐题目地址 https://match.yuanrenxue.cn/match/14题目难度标的是困难,主要难在js混淆部分。 参数分析 初始抓包有无限debugger反调试,可以直接hook 函数构造器过掉无限debugger Function.prototype.__construc…

Mirror网络库 | 说明

此篇为上文,下篇:Mirror网络库 | 实战 一、介绍 基于UNET,从2014年经过9年实战测试;服务器和客户端是一个项目;使用NetworkBehaviour而不是MonoBehaviour,还有NetworkServer和NetworkClient;Mi…

pdf怎么压缩到1m?这样做压缩率高!

PDF是目前使用率比较高的一种文档格式,因为它具有很高的安全性,还易于传输等,但有时候当文件体积过大时,会给我们带来不便,这时候简单的解决方法就是将其压缩变小。 想要将PDF文件压缩到1M,也要根据具体的情…

ASP.NET Core中间件记录管道图和内置中间件

管道记录 下图显示了 ASP.NET Core MVC 和 Razor Pages 应用程序的完整请求处理管道 中间件组件在文件中添加的顺序Program.cs定义了请求时调用中间件组件的顺序以及响应的相反顺序。该顺序对于安全性、性能和功能至关重要。 内置中间件记录 内置中间件原文翻译MiddlewareDe…

微服务 云原生:基于 Gogs + Drone 实现 CI/CD 自动化

一般构建部署 以一个简单的前后端项目来说,分别编写前后端的 Dockerfile 文件并构建镜像,然后编写 docker-compose.yml 构建部署,启动运行。每次代码变更后都需重新手动打包、构建、推送。 一个简单的例子: 前端: 项…

【力扣每日一题】2023.8.7 反转字符串

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一个字符数组形式的字符串,让我们直接原地修改反转字符串,不必返回。 给出的条件是使用O(1)的额外空间…

python爬虫相关

目录 初识爬虫 爬虫分类 网络爬虫原理 爬虫基本工作流程 搜索引擎获取新网站的url robots.txt HTHP协议 Resquests模块 前言: 安装 普通请求 会话请求 response的常用方法 简单案例 aiohttp模块 使用前安装模块 具体案例 数据解析 re解析 bs4…

AutoDL服务器的镜像版本太高,配置python3.7 tensorflow1.15版本的框架的步骤

1.选择一个实例,进入后端界面 2. 更新bashrc中的环境变量 conda init bash && source /root/.bashrc查看虚拟环境 conda info --envs可以看到此时有一个base的虚拟环境 但是它的python版本为3.8.10,无法安装tensorflow1.15,所以我们要创建一个…

Ctfshow web入门 SSTI 模板注入篇 web361-web372 详细题解 全

CTFshow SSTI web361 笔记分享 一、代码块 变量块 {{}} 用于将表达式打印到模板输出 注释块 {##} 注释 控制块 {%%} 可以声明变量,也可以执行语句 {% for i in .__class__.__mro__[1].__subclasses__() %}{% if i.__name___wrap_close %}{% print i.__init__.…

Nacos服务治理—负载均衡

引入负载均衡 在消费方引入负载均衡机制&#xff0c;同时简化获取服务提供者信息的流程 Spring Cloud引入组件LoadBalance实现负载均衡 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web<…

js 正则表达式

js 正则表达式 http://tool.oschina.net/regex https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions 11 22 333

学习pytorch 3 tensorboard的使用

tensorboard的使用 1. 安装2. add_scalar 查看函数图形3. 查看结果4. add_image() 查看训练步骤中间结果的图片 1. 安装 pytorch conda环境 pip install tensorboard pip install opencv-python2. add_scalar 查看函数图形 常用来查看 train val loss等函数图形 from torch…

解决:Unexpected ‘debugger‘ statement.eslint(no-debugger) (即:页面中的 debugger 标红)的问题

1、问题描述&#xff1a; 其一、报错为&#xff1a; Unexpected debugger statement.eslint(no-debugger) 中文为&#xff1a; 意外的“调试器”语句.eslint&#xff08;无调试器&#xff09; 其二、问题描述为&#xff1a; 在正常的 vue 项目中使用 debugger 的调试过程…

Python-OpenCV中的图像处理-图像平滑

Python-OpenCV中的图像处理-图像平滑 图像平滑平均滤波高斯模糊中值模糊双边滤波 图像平滑 使用低通滤波器可以达到图像模糊的目的。这对与去除噪音很有帮助。其实就是去除图像中的高频成分&#xff08;比如&#xff1a;噪音&#xff0c;边界&#xff09;。所以边界也会被模糊…