前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx实战操作-反向代理

Nginx实战操作-反向代理

作者头像
用户4919348
发布2020-05-25 16:56:58
1.5K0
发布2020-05-25 16:56:58
举报
文章被收录于专栏:波波烤鸭波波烤鸭

  本文我们来给大家介绍下Nginx的反向代理的实现。

反向代理

结构图

在这里插入图片描述
在这里插入图片描述

反向代理的核心是不想将我们内部的服务直接暴露给客户端。 Nginx可以作为我们反向代理服务器使用,具体怎么操作呢? 其实nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。

Nginx反向代理实战

1.创建一个web服务

  你可以直接启动一个Tomcat服务,放置简单的jsp文件,也可以通过开发工具启动一个服务,我们为了操作代码方便就通过IDE创建一个简单的web服务来处理请求

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动服务访问:

在这里插入图片描述
在这里插入图片描述

表示我们的服务是OK的

2.配置Nginx反向代理

我们可以单独添加一个反向代理的配置文件,然后我们在nginx.conf中通过 include 来引入即可

在这里插入图片描述
在这里插入图片描述

然后我们在nginx.conf的同级目录下创建extra文件夹并在其中创建proxy_demo.conf,内容如下

代码语言:javascript
复制
server{
   listen 80;
   server_name localhost;
   location / {
       proxy_pass http://192.168.12.1:8081;
   }
}

3.测试访问

  检测并重新加载配置文件。

在这里插入图片描述
在这里插入图片描述

访问 http://192.168.12.120/user/query

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这样就实现了一个简单的反向代理的配置,

代理修改请求方式

在这里插入图片描述
在这里插入图片描述

  客户端已GET方式发送请求到NGINX中,NGINX转发请求也会以GET方式转发,其实代理服务器可以修改请求方式,实现也非常简单,我们只需要在配置文件中 添加proxy_method POST 即可

代码语言:javascript
复制
server{
   listen 80;
   server_name localhost;
   location / {
       proxy_pass http://192.168.12.1:8081;
       proxy_method POST;
   }
}

来看效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

效果实现

在这里插入图片描述
在这里插入图片描述

获取真实IP地址

在这里插入图片描述
在这里插入图片描述

通过反向代理转发的节点无法获取客户端的真实IP,怎么解决呢,修改nginx的代理配置文件

代码语言:javascript
复制
server{
   listen 80;
   server_name localhost;
   location / {
       proxy_pass http://192.168.12.1:8081;
       proxy_method POST;
proxy_set_header Host $host;
#获取客户端的ip地址设置到header中
proxy_set_header X-Real-IP $remote_addr;        
#获取所有转发请求的ip信息列表
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   
  }
}

测试即可

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 反向代理
    • Nginx反向代理实战
      • 1.创建一个web服务
      • 2.配置Nginx反向代理
      • 3.测试访问
    • 代理修改请求方式
      • 获取真实IP地址
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档