利用Nginx正向代理实现受限网络的请求转发

利用Nginx正向代理实现受限网络的请求转发

声明:以下内容仅供学习使用,请遵守相关法律法规

一、场景描述

客户端A 需调用 目标服务器C 的接口服务,但因 目标服务器C 未将 客户端A 的IP地址加入白名单,网络不通导致直接请求失败。不过,目标服务器C 已将另一 代理服务器B 的IP地址加入其白名单中,允许其访问。鉴于 客户端A 能够请求至 代理服务器B,以下通过模拟 Nginx 配置 正向代理 实现受限网络的请求转发。

二、正向代理介绍

【百度百科】
正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

在这里插入图片描述

三、配置说明

  • 客户端、服务器说明
名称IP
客户端A192.168.209.10
代理服务器B192.168.209.100
目标服务器C192.168.209.110

目标服务器C 部署了一个SpringBoot项目(端口8099),且已对上表中的 代理服务器B 开放了IP及8099端口,下方则是 代理服务器B 中Nginx的配置文件

  • 代理服务器B的Nginx 配置

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;


    server {
        listen 80;
        server_name 192.168.209.100;
		
		#请求转发到目标服务器C 8099端口
        location /proxy/ {
            proxy_pass http://192.168.209.110:8099/;
        }
    }
}

四、测试结果

客户端A 直接访问 目标服务器C 网络不通
在这里插入图片描述
代理服务器B 能直接访问 目标服务器C
在这里插入图片描述
客户端A 通过ApiPost请求 代理服务器B,结果如下图所示
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值