IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> nginx反向代理(注意点) -> 正文阅读

[系统运维]nginx反向代理(注意点)

最近在配置nginx时候,出现无法进行代理的情况,于是又重新看了一下官方文档,这里仅此记录那些注意点。

第一种情况:假设你现在有两台硬件资源,一台机器 A 上运行着Nginx,作为反向代理服务器,所有的请求从反向代理进入。 另外一台机器 B 上运行着后端服务(Java/Go的API服务),用于提供后端服务。

例如: A的ip为192.168.1.5, 所有请求访问 http://192.168.1.5:8080/api

而B的ip为192.168.1.50:8081 ,提供的服务为/api/v1/xxxxservice,即http://192.168.1.50:8081/api/v1/xxxxservice

A的Nginx配置为:

location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        #rewrite ^/api/(.*)$ /$1 break;  #重写
        proxy_pass http://192.168.1.50:8081; # 设置后端服务器的协议和地址
}

也就是当A匹配到/api后,还要将/api传递到后端服务器

http://192.168.1.5:8080/api/v1/xxxxservice --->>>?http://192.168.1.50:8081/api/v1/xxxxservice

大家注意了 location 不仅仅是做URL匹配,而且还要将匹配到的路径/api/v1/xxxxservice 和后端服务器地址进行拼接,即?http://192.168.1.50:8081/api/v1/xxxxservice

第二种情况:?假设你现在有两台硬件资源,一台机器 A 上运行着Nginx,作为反向代理服务器,所有的请求从反向代理进入。 另外一台机器 B 上运行着Nginx前端页面服务(Vue或者React),用于提供前端服务,这种情况是为了所有的请求从A进入,B用于隐藏ip信息或域名服务,也就是机器A完全就是转发页面请求。

例如: A的ip为192.168.1.5, 所有请求访问 http://192.168.1.5:8080/search

而B的ip为192.168.1.50:8081 提供页面服务

A的Nginx配置为:

location /search {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        #rewrite ^/api/(.*)$ /$1 break;  #重写
        proxy_pass http://192.168.1.50:8081/; # 设置页面服务器的协议和地址
}

我们访问B的ip http://192.168.1.50:8081能正常看到前端的页面,我们的目的仅是从A到B。

当location /search匹配后,直接访问到B,即:

192.168.1.5:8080/search? ---->>>> 192.168.1.50:8081

而location 只是做路径的匹配,而不进行传递,跟第一种情况不一样,具体的配置在于prox_pass地址最后面的 “/”

无论是正常显示还是显示错误not found,请大家注意是代理服务器返回的,还是被代理的服务器返回的。有一部分情况是明明代理服务器的location正常进行了匹配,但是被代理服务器没有那个路径导致找不到页面或者服务,往往是因为路径或配置的问题,要么是将location传递到被代理服务器,要么是仅仅是用于代理服务器进行匹配。请大家千万注意。

下图是官方的说明:

?

参考官方资料:

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

https://en.wikipedia.org/wiki/Uniform_Resource_Identifier

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:20:33  更:2022-07-20 19:21:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 16:42:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码