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代理服务器访问目标接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx实现异步访问mysql的配置方法

    Nginx实现异步访问mysql的配置方法

    这篇文章主要介绍了Nginx实现异步访问mysql的配置方法,本文先是讲解了安装配置方法,然后给出了使用方法,需要的朋友可以参考下
    2015-06-06
  • 基于Nginx的衍生版服务器Tengine简介

    基于Nginx的衍生版服务器Tengine简介

    这篇文章主要介绍了基于Nginx的衍生版服务器Tengine简介,本文讲解了Nginx的特性、Tengine的特性、架构和扩展性等内容,需要的朋友可以参考下
    2015-03-03
  • 详解nginx upstream 配置和作用

    详解nginx upstream 配置和作用

    这篇文章主要介绍了详解nginx upstream 配置和作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • nginx常用配置conf的示例代码详解

    nginx常用配置conf的示例代码详解

    这篇文章主要介绍了nginx常用配置conf,包括配置vue项目,配置接口代理的代码详解,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • nginx安装图解_动力节点Java学院整理

    nginx安装图解_动力节点Java学院整理

    这篇文章主要为大家详细介绍了nginx安装的图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • nginx上部署react项目的实例方法

    nginx上部署react项目的实例方法

    今天小编就为大家分享一篇关于nginx上部署react项目的实例方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Linux下安装MongoDB的实现步骤

    Linux下安装MongoDB的实现步骤

    这篇文章主要介绍了Linux下安装MongoDB的实现步骤的相关资料,希望通过本文能帮助到大家,让大家轻松安装,需要的朋友可以参考下
    2017-10-10
  • Nginx如何配置前端后端服务

    Nginx如何配置前端后端服务

    本文介绍了如何配置Nginx作为前端静态资源服务器和反向代理服务器以连接后端应用,配置步骤包括设置Nginx的基本配置语法和结构,配置Nginx作为前端静态资源服务器和反向代理服务器,测试和优化Nginx配置,以及提供了一个示例配置
    2025-01-01
  • 关于nginx报错405 not allowed解决方法总结

    关于nginx报错405 not allowed解决方法总结

    这篇文章主要给大家介绍了关于nginx报错405 not allowed解决方法的相关资料,nginx遇到post请求静态文件会得到405错误,文中通过代码介绍的非常详细,也给出了推荐方法,需要的朋友可以参考下
    2023-10-10
  • Nginx IP封禁及自动封禁IP的实现

    Nginx IP封禁及自动封禁IP的实现

    本文主要介绍了Nginx IP封禁及自动封禁IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论