黑马头条day01 微服务搭建

发布于:2024-12-18 ⋅ 阅读:(47) ⋅ 点赞:(0)

1.请求调用流程


        如http://localhost:8803/static/js/2.0195d7180dc783c3fe99.js这种静态资源,采用http的发送到本地8803端口的静态资源请求,而nginx配置的监听8801、8802、8803,所以请求走到nginx,nginx的admin配置文件

upstream  heima-admin-gateway{
    server localhost:6001;
}

server {
	listen 8803;
	location / {
		root html/toutiao/admin-web/;
		index index.html;
	}
	
	location ~/admin_gateway/(.*) {
		proxy_pass http://heima-admin-gateway/$1;
		proxy_set_header HOST $host;  # 不改变源请求头的值
		proxy_pass_request_body on;  #开启获取请求体
		proxy_pass_request_headers on;  #开启获取请求头
		proxy_set_header X-Real-IP $remote_addr;   # 记录真实发出请求的客户端IP
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  #记录代理信息
	}
}

可以发现未特殊声明的都走到location /,也就是转到html/toutiao/admin-web/目录下

 静态资源都在这个下面。也就是静态资源nginx自己就处理了

        另外如登录请求是个动态资源请求

还是由上面的配置文件发现admin_gateway都转到了 upstream  heima-admin-gateway{
    server localhost:6001;
}

6001是网关,打开网关的application.yml配置文件发现会把admin也过滤掉,

此时就可以与Controller的各种mapping对应了

 2.搭建微服务,分五个步骤

 1.创建模块,引入Maven依赖 2. 加入启动类 3配置文件  4.用mp生成基础代码 5.编写业务代码

3. 搭建管理端微服务

坑点是idea的创建模块的父工程有时是最顶层而不是你需要的上一层,一旦选错很麻烦。

3.1.登录的service层代码

 //1. 根据name查询用户信息, 如果不存在,直接报错[主键查询selectById  条件查询 selectList]
//2. 密码比对,如果错误就返回提示
//3.一旦都没问题,代表登录成功;创建token,token有效载荷:非敏感唯一性id小
//4.组装结果返回

3.2 搭网关 
在heima-leadnews-gateway下添加heima-leadnews-admin-gateway模块,添加pom文件

添加jwt校验
 

思路分析:

  1. 用户进入网关开始登陆,网关过滤器进行判断,如果是登录,则路由到后台管理微服务进行登录

  2. 用户登录成功,后台管理微服务签发JWT TOKEN信息返回给用户

  3. 用户再次进入网关开始访问,网关过滤器接收用户携带的TOKEN

  4. 网关过滤器解析TOKEN ,判断是否有权限,如果有,则放行,如果没有则返回未认证错误

4. 自媒体微服务

步骤都差不多,泛陈可善


网站公告

今日签到

点亮在社区的每一天
去签到