Nginx通过代理服务器访问目标接口的实现

 更新时间:2024年08月06日 11:41:01   作者:catoop  
本文主要介绍了Nginx通过代理服务器访问目标接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

需求:某Nginx需要通过一个http代理服务来访问目标URL。

如果下图所示:

在这里插入图片描述

服务器B仅提供一个代理出来,不允许在该服务器上安装和进行任何其他配置操作。

在这种需求场景下,网络请求过程和域名解析的工作流程大致如下:

1、客户端发送请求到Nginx服务器。
2、Nginx服务器根据配置,将请求转发给代理服务器(例如:222.10.20.5:7890)。
3、代理服务器接收到请求后,负责解析目标域名(如:https://www.google.com/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js)到具体的IP地址。
4、代理服务器进一步将请求转发到解析后的实际IP地址,即最终的目标服务器。
5、最终服务器处理请求并返回响应给代理服务器,代理服务器再将响应返回给Nginx,最后Nginx将响应返回给客户端。

Nginx 配置文件的代码示例片段如下:

location /js/th/ {
    proxy_pass http://222.10.20.5:7890; #这里配置代理服务, http还是https具体要取决于代理服务
    proxy_set_header Host www.google.com; #这里配置目标URL的host
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_ssl_server_name on; #如果目标是HTTPS站点,需要开启此配置
}

假设我们的 nginx 服务的地址是 http://192.168.10.222:8080,此时我们访问 http://192.168.10.222:8080/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js 即可看到实际地址 https://www.google.com/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js 的返回结果,则验证通过。

到此这篇关于Nginx通过代理服务器访问目标接口的实现的文章就介绍到这了,更多相关Nginx代理服务器访问目标接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux查找当前系统nginx路径的两种方法

    linux查找当前系统nginx路径的两种方法

    工作中有很多服务器, 它们上面装的 nginx 的路径也太不相当, 当我们拿到一个不熟悉的服务器时, 我们怎么知道, 当前运行的nginx的目录是哪一个呢,本文小编给大家介绍了两种linux查找当前系统nginx的路径的方法,需要的朋友可以参考下
    2023-11-11
  • 深入浅析nginx部署及简单优化

    深入浅析nginx部署及简单优化

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。本文重点给大家介绍nginx部署及简单优化方案,感兴趣的朋友一起看看吧
    2018-08-08
  • 部署前后端分离式nginx配置的完整步骤

    部署前后端分离式nginx配置的完整步骤

    这篇文章主要给大家介绍了关于如何部署前后端分离式nginx配置的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Nginx if语句加正则表达式实现字符串截断

    Nginx if语句加正则表达式实现字符串截断

    这篇文章主要介绍了Nginx if语句加正则表达式实现字符串截断功能,特殊场合下可能会需要这个功能,NGINX的奇淫技巧之一,需要的朋友可以参考下
    2015-02-02
  • Nginx限制IP访问的实现示例

    Nginx限制IP访问的实现示例

    限制某些IP地址访问网站是一个常见的需求,本文主要介绍了Nginx限制IP访问的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • nginx如何使用openssl自签名实现https登录

    nginx如何使用openssl自签名实现https登录

    这篇文章主要介绍了nginx使用openssl自签名实现https登录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • OpenResty中实现按QPS、时间范围、来源IP进行限流的方法

    OpenResty中实现按QPS、时间范围、来源IP进行限流的方法

    OpenResty是一个基于Nginx与Lua的高性能Web平台,它通过LuaJIT在Nginx中运行高效的Lua脚本和模块,可以用来处理复杂的网络请求,并且支持各种流量控制和限制的功能,这篇文章主要介绍了OpenResty中实现按QPS、时间范围、来源IP进行限流,需要的朋友可以参考下
    2024-02-02
  • 详解Nginx反向代理WebSocket响应403的解决办法

    详解Nginx反向代理WebSocket响应403的解决办法

    本篇文章主要介绍了详解Nginx反向代理WebSocket响应403的解决办法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • nginx中配置使用proxy protocol协议的全过程

    nginx中配置使用proxy protocol协议的全过程

    proxy protocol是一个Internet协议,通过为tcp添加一个很小的头信息,来方便的传递客户端信息,在网络情况复杂又需要获取用户真实IP时非常有用,这篇文章主要给大家介绍了关于nginx中配置使用proxy protocol协议的相关资料,需要的朋友可以参考下
    2022-04-04
  • Nginx 403 forbidden错误的原因以及解决方法

    Nginx 403 forbidden错误的原因以及解决方法

    yum安装nginx,安装一切正常,但是访问时报403 forbidden,下面这篇文章主要给大家介绍了关于Nginx 403 forbidden错误的原因以及解决方法,需要的朋友可以参考下
    2022-08-08

最新评论