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

相关推荐
真正的醒悟33 分钟前
H3C交换机&路由器&防火墙FTP/TFTP服务器搭建。
服务器·网络·智能路由器
不修×蝙蝠1 小时前
Tomcat理论(Ⅰ)
java·服务器·java-ee·tomcat
望获linux1 小时前
如何在望获实时 Linux & 京博航友善 NanoPC-T6 上部署 Docker
linux·运维·服务器·docker·eureka·开源软件
wangchen_01 小时前
linux编译器和自动化构建工具(gcc与Makeile)
linux·运维·服务器
DC_BLOG1 小时前
Linux-Ansible命令
linux·运维·服务器·ansible
贩卖纯净水.2 小时前
REACT学习DAY02(恨连接不上服务器)
服务器·学习·react.js
铁锅与大鹅2 小时前
http+nginx
网络协议·nginx·http
zhyhgx3 小时前
【Spring】Spring配置文件
java·服务器·spring boot·后端·spring·配置文件
程序员JerrySUN3 小时前
每天设计者模式-1:基础面试题
java·linux·运维·服务器·开发语言·python·docker
s_fox_4 小时前
Nginx Embedded Variables 嵌入式变量解析(4)
java·网络·nginx