目录
👋前言
小伙伴们大家好,上次初步学习并在本地安装了 Nginx ,了解了 Nginx 常用的命令包括启动,停止,以及修改配置端口号等,后续再来了解下 Nginx 的代理使用,之前文章链接如下:
【Nginx <一>⭐️】Nginx 的初步了解以及安装使用_nginx 1.26.0 安装-CSDN博客
👀一、 反向代理
代理的意思感觉类似于现实中的中介,或者说平时找房子的时候,直接通过中介查找有哪些房源,至于房主的信息我们是不知道的;在网络中亦是如此,客户端不是直接与后端服务器进行通信,而是与代理服务器进行通信,隐藏了后端服务器的 IP地址,即反向代理服务器
另外就是正向代理,也就是代理客户端,让服务器不知道真实的客户端信息,本篇文章主要针对反向代理展开;
🌱二、反向代理实践
2.1 项目准备
因为演示反向代理,需要准备一个简单的项目服务,本地使用的是一个 SpringBoot 项目,另外创建一个接口,简单的反馈下信息即可;创建项目的步骤这里不做赘述,附上别的博主一篇详细教程
使用IDEA搭建一个简单的SpringBoot项目——详细过程_idea创建spring boot项目-CSDN博客
2.1.1 项目配置文件中设置启动端口:
server.port = 8081
2.1.2 创建一个请求接口,示例是一个简单的请求接口,控制台打印当前启动使用的端口号,然后返回请求成功的信息
注:使用 Get 请求是因为使用浏览器发送请求方便,也可以使用 Post 请求但是需要结合接口测试工具使用
@RestController
@RequestMapping("/data")
public class dataController {
@Resource
private Environment environment;
@GetMapping("/nginx")
public String testNginx(){
String port = environment.getProperty("local.server.port");
System.out.println("Current port: " + port);
return "get server successful";
}
}
2.1.3 启动项目
项目成功启动后,可以检查下目标端口是否正确,因为存在目标端口被占用的情况
2.2 Nginx 文件配置
Nginx 服务器监听的是 8066 端口,然后代理的是 http://localhost:8081 地址,也就是我们刚刚启动的项目服务地址
2.3 代理测试
代理配置文件完成后,启动 nginx 服务,这时我们访问如下地址,结果如下,成功收到代理服务器的结果响应,再去看下控制台。
注:修改配置文件后需要保存,然后重启 Nginx 服务
启动 Nginx 命令: start nginx
停止 Nginx 命令: nginx -s stop
(以上命令,均要在 nginx 安装包的第一层目录下执行)
这里就是实现了反向代理的功能,客户端访问的是 nginx 服务器地址 8066, nginx 服务通过检测配置文件替换为目标服务器地址 8081 ,之后再将请求结果返回即可
💞️三、章末
文章到这里就结束了~ 主要是针对 Nginx 的反向代理做了测试,示例中涉及到简单的代理流程如下:
另外,由于个人原因以及工作原因,可能留给个人学习的时间会缩水,但还是会尽量维持住现有的写博客习惯