AUTHORIZATION_REQUIRED 错误 运行 Strongloop with PM2 in cluster mode
AUTHORIZATION_REQUIRED error when running Strongloop with PM2 in cluster mode
我是 运行 Strongloop,使用 PM2 作为我的流程管理器。
- pm2 start server/server.js -i 0(在集群模式下启动 strongloop)。
- pm2 list(显示两个具有不同 PID 的服务器实例)。
pm2 list image example
在我的 Angular-fullstack 应用程序中:
- 运行 a POST 使用电子邮件和密码调用以获取令牌、ttl 等。
回答正确:
{"id":"z2MgpdN2dyXHHWw2DLhAI026vHBgxw43jpCz9khWa7U9GykAmnQZAaeXV2nvEvQ8","ttl":1209600,"created":"2016-07-21T16:47:34.020Z","userId":"571609e4c88c6db26b75aacd"}
- 运行 GET 调用使用 id(令牌)获取有关用户的更多信息:
http://myrestservice.com:3000/api/Users/571609e4c88c6db26b75aacd?access_token=z2MgpdN2dyXHHWw2DLhAI026vHBgxw43jpCz9khWa7U9GykAmnQZAaeXV2nvEvQ8
响应是错误 401 AUTHORIZATION_REQUIRED
问题!!:
如何配置 StrongLoop 以处理相同 server/server.js 的多个实例?
我阅读了配置存储的 REDIS 会话,但指南讨论了 Express + REDIS 存储会话管理。我认为这是一种不同的方法。
提前致谢!
您似乎没有将您的 AccessTokens 持久保存在所有 运行 servers/processes.
的公共数据源上
尝试检查您的 model-config.json
文件并验证 AccessToken 模型的数据源是否已共享。
这可能不会在您所有 servers/processes:
之间共享
"AccessToken": {
"dataSource": "memory",
"public": false
},
这将在所有 servers/processes:
之间共享
"AccessToken": {
"dataSource": "mysqlDs",
"public": false
},
*mysqlDs存放在MySQL
这是环回文档中与配置数据源相关的部分https://docs.strongloop.com/display/public/LB/Attaching+models+to+data+sources#Attachingmodelstodatasources-Makethemodelusethedatasource
我是 运行 Strongloop,使用 PM2 作为我的流程管理器。
- pm2 start server/server.js -i 0(在集群模式下启动 strongloop)。
- pm2 list(显示两个具有不同 PID 的服务器实例)。 pm2 list image example
在我的 Angular-fullstack 应用程序中:
- 运行 a POST 使用电子邮件和密码调用以获取令牌、ttl 等。
回答正确:
{"id":"z2MgpdN2dyXHHWw2DLhAI026vHBgxw43jpCz9khWa7U9GykAmnQZAaeXV2nvEvQ8","ttl":1209600,"created":"2016-07-21T16:47:34.020Z","userId":"571609e4c88c6db26b75aacd"}
- 运行 GET 调用使用 id(令牌)获取有关用户的更多信息:
http://myrestservice.com:3000/api/Users/571609e4c88c6db26b75aacd?access_token=z2MgpdN2dyXHHWw2DLhAI026vHBgxw43jpCz9khWa7U9GykAmnQZAaeXV2nvEvQ8
响应是错误 401 AUTHORIZATION_REQUIRED
问题!!: 如何配置 StrongLoop 以处理相同 server/server.js 的多个实例? 我阅读了配置存储的 REDIS 会话,但指南讨论了 Express + REDIS 存储会话管理。我认为这是一种不同的方法。
提前致谢!
您似乎没有将您的 AccessTokens 持久保存在所有 运行 servers/processes.
的公共数据源上尝试检查您的 model-config.json
文件并验证 AccessToken 模型的数据源是否已共享。
这可能不会在您所有 servers/processes:
之间共享"AccessToken": {
"dataSource": "memory",
"public": false
},
这将在所有 servers/processes:
之间共享"AccessToken": {
"dataSource": "mysqlDs",
"public": false
},
*mysqlDs存放在MySQL
这是环回文档中与配置数据源相关的部分https://docs.strongloop.com/display/public/LB/Attaching+models+to+data+sources#Attachingmodelstodatasources-Makethemodelusethedatasource