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

相关推荐
Avan_菜菜15 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
ping某5 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
小宇宙Zz7 天前
Maven依赖冲突
java·服务器·maven
treesforest7 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
古城小栈7 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
程序猿阿伟7 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
凡人叶枫7 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
AC赳赳老秦7 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw