Skip to content

我们以一个例子来说明

假设我们是一个最简单的场景,用户非常少,但是网站前后端是分离的,部署在两台不同服务器上

如果没有 Nginx:

则用户直接访问前端 URL,前端调用后端 URL,后端的 URL 是暴露的,并且有跨域问题(跨域:浏览器会阻止 ip 不同的访问)

如果有 Nginx:

则用户访问 Nginx 的入口点,后端隐藏

架构:

一般来说,Nginx 放置在前端服务器上。用户访问时,前端代码只需要调用相对位置,nginx 转发到后端

正向代理:

它是指用户主动布置代理服务器,就是类似于我们的 VPN,用户->VPN 服务器->网站

反向代理:

就比如网站上再部署一个代理服务器

用户->nginx(代理服务器)->内部服务器

反向代理的情况下,用户不知道网站内部有没有代理

Nginx 作为唯一入口

  • 静态请求(如 /index.html)→ Nginx 直接返回前端文件。
  • API 请求(如 /api/login)→ Nginx 反向代理到后端服务器(192.168.1.20:3000)。