nginx转发导致passport作用域失效,报错Unauthenticated

之前写了一个项目,因为需要多表登录,所以passport设置了作用域,现在因为高并发的问题,需要做优化,安装了laravels,并使用nginx转发,但是转发后作用域内的路由全部报错Unauthenticated
下面是我的passport配置
nginx转发导致passport作用域失效,报错Unauthenticated
这个是路由

nginx转发导致passport作用域失效,报错Unauthenticated

使用的个人令牌

nginx转发导致passport作用域失效,报错Unauthenticated
上面的配置在使用nginx转发前调试都没问题

下面的是nginx转发,使用的宝塔面板

nginx转发导致passport作用域失效,报错Unauthenticated

nginx转发导致passport作用域失效,报错Unauthenticated

求指点一下,还需要配置什么

补充一下,把作用域去掉,接口也就正常了。初步估计是passport作用域跟插件laravelS有冲突。大家能不能在这个方便给点思路

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

因为authorization消失了,转发的时候没带上proxy_set_header authorization $http_authorization;

2年前 评论
LucienSeven (楼主) 2年前
陈先生

直接用的hyperf的,扔上去试试吧

# 至少需要一个 Hyperf 节点,多个配置多行
upstream proxy_group {
    # Hyperf HTTP Server 的 IP 及 端口
    server 127.0.0.1:9508;
    server 127.0.0.1:9509;
}

server {
    # 监听端口
    listen 80; 
    # 绑定的域名,填写您的域名
    server_name proxy.hyperf.io;

    location / {
        # 将客户端的 Host 和 IP 信息一并转发到对应节点  
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # 转发Cookie,设置 SameSite
        proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";

        # 执行代理访问真实服务器
        proxy_pass http://proxy_group;
    }
}
2年前 评论
https://github.com/hhxsv5/laravel-s/blob/master/Settings.md#cleaners
2年前 评论
LucienSeven (楼主) 2年前

直接抓包或者dump看看转发前后的请求有啥变化,对比一下就知道了

2年前 评论
LucienSeven (楼主) 2年前

@fnoop 说的很对,我觉得题主是不是太懒了。我之前用laravel-s也遇到类似问题,建议自己搭一套lnmp环境或者用laradock,一般都是app容器实例污染,nginx配置错误导致的。使用宝塔面板之类的「傻瓜式工具」可能会导致问题变得更难定位。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!