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

相关推荐
翼龙云_cloud12 分钟前
腾讯云代理商:云上 OpenClaw5 分钟接入 Slack 指南 AI 助手一键部署实战
服务器·人工智能·云计算·腾讯云·openclaw
IPDEEP全球代理23 分钟前
美国纽约IP和普通美国IP有什么区别?
网络·网络协议·tcp/ip
咸鱼翻身小阿橙1 小时前
QT P4
数据库·qt·nginx
handler011 小时前
Linux: 基本指令知识点(3)
linux·服务器·c语言·开发语言·c++·笔记
向宇it1 小时前
获取服务器hung住时的崩溃日志并自动系统重启——监听服务器异常崩溃问题
运维·服务器
志栋智能1 小时前
超自动化安全:释放安全专家创造力的钥匙
运维·服务器·网络·人工智能·自动化
历程里程碑1 小时前
55 Linux epoll高效IO实战指南
java·linux·服务器·开发语言·前端·javascript·c++
水彩橘子1 小时前
kea dhcp 服务器HA 配置
运维·服务器
实心儿儿2 小时前
C++ —— 进程控制 - 进程程序替换
linux·运维·服务器
中科三方2 小时前
SSL证书、域名与IP地址:三者关系全面解析与常见误区澄清
网络·tcp/ip·ssl