nginx怎么做“正向代理”?代理自己后端的服务器(没有公网ip),去访问公网软件仓库

本文主要是介绍nginx怎么做“正向代理”?代理自己后端的服务器(没有公网ip),去访问公网软件仓库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实现的方法:

配置nginx服务器的调用配置文件

/etc/nginx/default.d/*.conf

在里面写location块,把匹配到的符合条件的url的访问,转到另一个网址去,以nginx的身份去访问

而nginx作为代理服务器,本身是配置了公网ip的

只是后端服务器没有,所以要访问公网的资源,得先访问nginx服务器的内网ip

然后nginx把这个访问以自己的身份转发出去。请求的结果再返回给后端服务器。

nginx里面的location匹配的是url路径,lnmp平台动静分离,把.php$结尾的url的请求通过fastcgi_pass转发给php-fpm,php-fpm调用php脚本和库,再通过php-mysqlnd和mysql交互,来实现对访问请求的响应。
location  ~  ^/rockylinux/(.*)$  {
     proxy_pass:   云服务商的镜像仓库公网地址$1
}
波浪号“~”是正则匹配   以“/rockylinux/xxxxxxx”这个字段为开头和结尾的,访问本机nginx网页服务的请求,就转到大括号里面的地址
这个也就叫七层代理吧
比如,nginx服务器的内网地址是192.168.1.252
那么内网里面的其他主机可以访问http://192.168.1.252/rockylinux/a/b/c/d/e/f/g.txt
就相当于访问云服务商的镜像仓库公网地址/a/b/c/d/e/f/g.txt
这里的核心有两个,一个是(.*)捕获组和$1捕获组调用的关系
第二个是nginx代理服务器的匹配规则的基础
也就是说,访问http://nginxserverip/url
这个http://nginxserverip/url 路径
被换成
什么
由nginx调用配置文件里面的location决定
location说,这个“url”前面的内容就是来找我,但是来找我的时候,我看看这个“url”是什么样的,看着给分配到什么地址。
这个地方就是访问请求的中转站
把这样的url转到那个网址去
把那样的url转到那个网址去
想要怎么转,告诉我,我来给你转。
也就是说,nginx的调用配置文件里面所书写的location里面的内容,就干一件事,来的什么请求,我给你换到什么地方去。
为什么要有这个location
一般是因为请求的源头干不了这件事,所以得找nginx帮忙
比如nginx作为代理服务器,有公网ip,它的后端真实服务器的集群,那些机器只有内网ip,不上公网ip,那么当这些机器想要访问公网去拿些资源的时候,就可以找nginx帮忙,把请求交给nginx机器的内网ip,然后nginx把这些对于公网地址的请求,变成自己对于公网地址的请求,用自己的公网ip去访问公网地址,拿到结果之后,把结果用自己的内网ip,交给后端真实服务器。
有点类似一个工厂的海外销售部门。
生产部门的职员主要负责生产,不直接和海外客户沟通订单的细节
海外客户对于自己需要的产品的要求,也不直接和工厂的生成部门人员沟通
这中间的一个桥梁就是海外销售部门,对内,可以和自己企业的生产部门沟通协调订单的生产进度和预计的交付周期等,对外,可以和海外客户沟通订单的需求和报价等细节。
nginx的代理
一般理解为,客户端对于后端服务器的访问,nginx做负载均衡,流量分发等。
其实反过来也可以,就是后端服务器通过nginx访问公网,获取公网软件仓库的资源等。

这篇关于nginx怎么做“正向代理”?代理自己后端的服务器(没有公网ip),去访问公网软件仓库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126123

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu