访问Parse Dashboard出现{"error":"unauthorized"}的可能原因排查
当访问http://192.168.2.10:1337/parse/serverInfo时返回{"error":"unauthorized"}错误,结合你提供的Docker Compose配置,可能的触发原因如下:
请求未携带Master Key认证
/serverInfo属于Parse Server的敏感接口,必须携带Master Key才能访问。直接通过浏览器或未添加X-Parse-Master-Key请求头的方式调用,会直接触发未授权拦截。你的Parse Server配置了PARSE_SERVER_MASTER_KEY=parse@master123!,但当前请求没有传递这个密钥。混淆了Parse Dashboard与Parse Server的访问入口
你的Parse Dashboard配置了MOUNT_PATH=/dashboard/,端口是4040,正确的Dashboard访问地址应该是http://192.168.2.10:4040/dashboard/。你当前访问的是Parse Server的API接口,而非Dashboard的页面,自然会触发认证错误。跨域或代理信任配置缺失
虽然设置了PARSE_DASHBOARD_TRUST_PROXY=1,但如果Dashboard通过代理访问Parse Server时,请求头传递异常会导致认证信息丢失。另外,Parse Server未配置PARSE_SERVER_CORS_ORIGIN来允许Dashboard的域名,跨域限制也可能间接引发认证失败。服务启动顺序导致的初始化异常
尽管Parse Server配置了sleep 5和depends_on,但PostgreSQL可能仍未完全就绪就启动了Parse Server,导致服务初始化时未能正确加载Master Key、数据库连接异常,进而破坏认证逻辑。可以查看Parse Server容器日志,确认启动阶段是否有数据库连接报错。Master Key/App ID环境变量传递异常
虽然配置文件中Parse Dashboard和Parse Server的Master Key、App ID看起来一致,但特殊字符(比如Master Key中的!)可能在环境变量传递时被转义或丢失。可以进入Parse Server容器验证变量值:docker exec -it <你的parse服务容器名称> echo $PARSE_SERVER_MASTER_KEY
内容的提问来源于stack exchange,提问作者quarks

