反向代理

反向代理

反向代理通常驻留在Web服务器端,以控制到服务器的流量、验证或解密连接请求或简单地缓存内容以加快交付速度。
它可以帮助Web服务器免受攻击。还可以将流量分配到不同的服务器以平衡负载。

定义

  • 反向代理服务器位于用户与目标服务器之间,用户直接访问反向代理服务器就可以获得目标服务器的资源。
  • 反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

区分正向代理和反向代理

最根本的区别是代理的对象不同

正向代理是代理客户端,比如vpn
反向代理是代理服务器,比如nginx
最核心的不同在于代理的对象不同

【正向代理】:
(内部网络用户向外网发送请求)
正向代理代理的是客户端,需要为每一个客户端都做一个代理服务器,客户端访问的路径是目标服务器

【反向代理】:
(外部网络用户向内网发送请求)
反向代理代理的是真实服务器,客户端不需要做任何的配置,访问的路径是代理服务器,由代理服务器将请求转发到真实服务器

实践

::: tip 需求
实现效果访问http://192.168.80.102:80(Nginx首页),最终代理到http://192.168.80.102:8080(Tomcat首页)
:::

Linux下配置

应用一:

server {
# 监听端口80 即当访问服务器的端口是80时,进入这个server块处理
listen 80;
# server_name当配置了listen时不起作用
server_name localhost;
# location后面代表访问路径 当是/ 请求时 代理到tomcat的地址
location / {
# 使用 proxy_pass(固定写法)后面跟要代理服务器地址
proxy_pass http://192.168.80.102:8080;
}
}

应用二:

让Nginx监听9001端口
我们实现当访问http://192.168.80.102:9001/edu(Nginx地址)时,nginx给我们代理到http://192.168.80.102:8081,
当访问http://192.168.80.102:9001/vod时,nginx给我们代理到http://192.168.80.102:8082

server {
# 监听9001端口
listen 9001;
# 进行路径匹配,匹配到edu代理到8081
location ~/edu/ {
proxy_pass http://192.168.80.102:8081;
}
# 进行路径匹配,匹配到vod代理到8082
location ~/vod/ {
proxy_pass http://192.168.80.102:8082;
}
}

重启nginx服务器

sudo systemctl restart nginx
posted @   lucky星星糖  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示