【发布时间】:2019-01-03 20:54:20
【问题描述】:
在 Nginx 上构建微服务身份验证的最佳实践是什么?
目前我有下一个反向代理服务
server {
listen 80;
listen [::]:80;
server_name sspay.local;
location /service/passport/ {
proxy_pass http://passport-service:3000/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
例如,我想创建“用户服务”,它将提供有关用户的信息。我希望它为普通用户提供有关当前用户的信息,并为管理员提供有关所有用户的信息。
为此,护照服务会提供包含用户权限信息的 JWT 令牌。
那么我如何在 nginx 中创建“中间件”,它将向“passport-service”发出请求,以检查当前 JWT 令牌是否有权访问指定的路由(例如,“/service/users/{id}” )
【问题讨论】:
标签: nginx microservices