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,一经查实,立即删除!

相关文章

HTTP 请求方法详解

HTTP 请求方法详解 请求方法 请求方法(Request Methods)是在 HTTP 请求中用于指定对目标资源执行的操作类型。每个请求都需要指定一个请求方法,以告知服务器要执行的操作。 以下是一些常见的 HTTP 请求方法及其主要用途: GET&…

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

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

vue-pc端Message 消息提示防抖处理-短时间内只触发一次

前言 element提供的的message消息提示用确实方便直接代码就搞定。但是在特定的场景并不适用 点击某一个点位提示用户点击了或者websocket推送提示用户来信息了(这种提示用户场景) 如果有很多推送信息来,或者用户一直点击。这是屏幕会一直弹…

Java各个版本的switch表达式

文章目录 传统switch声明语句的弊端:JDK12中预览特性:JDK13**JDK17的预览特性:switch的模式匹配** 传统switch声明语句的弊端: 匹配是自上而下的,如果忘记写break,后面的case语句不论匹配与否都会执行&…

篇十五:模板方法模式:固定算法的步骤

篇十五:"模板方法模式:固定算法的步骤" 设计模式是软件开发中的重要知识,模板方法模式(Template Method Pattern)是一种行为型设计模式,用于定义一个算法的骨架,将算法中一些步骤的具…

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…

MySQL 手机选号(AABB、ABCD、DCBA、AAA),SQL SERVER 手机选号(AABB、ABCD、DCBA、AAA),通过规则查询靓号

先上SQL SERVER: create table plat_uidlist(Uidd varchar(15) , Areaid int , State int)insert into plat_uidlist values(2335435 ,8 ,0 ) insert into plat_uidlist values(2335436 ,8 ,1 ) insert into plat_uidlist values(2335437 ,2 ,2 ) insert into plat…

css中的var函数

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

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

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

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

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

【并发编程】线程池多线程异步去分页调用其他服务接口获取海量数据

文章目录 场景:解决方案 场景: 前段时间在做一个数据同步工具,其中一个服务的任务是调用A服务的接口,将数据库中指定数据请求过来,交给kafka去判断哪些数据是需要新增,哪些数据是需要修改的。 刚开始的设…

【Docker】配置指定大小的磁盘空间

背景 测试磁盘满时程序的运行情况 问题 如何使用 docker 来模拟磁盘满的情况 解决方法 创建指定大小的数据卷 volumedocker volume create --driver local --opt typetmpfs --opt devicetmpfs --opt osize50M my_volumn创建 docker 时,使用该数据卷docker run …

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,也要根据具体的情…

雅克比矩阵在机器人运动学中的应用

以六轴机械臂为例,设机械臂关节空间为q,位置矩阵为p,速度矩阵为v q [ q 0 , q 1 , q 2 , q 3 , q 4 , q 5 ] q[q_0,q_1,q_2,q_3,q_4,q_5] q[q0​,q1​,q2​,q3​,q4​,q5​] p [ x , y , z ] T [ f x ( q ) f y ( q ) f z ( q ) ] p[x,y,z…

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)的额外空间…