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访问公网,获取公网软件仓库的资源等。

相关推荐
小宋102125 分钟前
玩转RabbitMQ声明队列交换机、消息转换器
服务器·分布式·rabbitmq
m0_6090004228 分钟前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
kejijianwen2 小时前
JdbcTemplate常用方法一览AG网页参数绑定与数据寻址实操
服务器·数据库·oracle
Karoku0666 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
geek_Chen016 小时前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
(⊙o⊙)~哦6 小时前
linux 解压缩
linux·运维·服务器
掘根8 小时前
【网络】高级IO——poll版本TCP服务器
网络·数据库·sql·网络协议·tcp/ip·mysql·网络安全
友友马9 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
重生之我在20年代敲代码9 小时前
HTML讲解(一)body部分
服务器·前端·html
ZHOU西口9 小时前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui