The*_*ebs 5 php websocket laravel pusher pusher-js
因此,关于这个同一个网站的业务有很多问题,但当涉及到Laravel Websockets时我找不到任何答案。他们的文档中没有任何关于此的内容。
所以我想我应该在这里问一下,看看你们有什么想法。
考虑以下配置:
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
wsHost: window.location.hostname,
wsPort: 6001,
wssPort: 6001,
disabledStats: true,
encrypted: false,
enabledTransports: ['ws', 'wss'],
namespace: 'App',
auth: {
headers: {
'X-CSRF-TOKEN': token.content
}
}
});
Run Code Online (Sandbox Code Playgroud)
根据他们的文档,他们使用了 Pusher 库 - 但没有迹象表明它实际上到达了 Pusher 网站。我不需要任何推送者凭据,因为这些都是伪造的。
问题很简单:
与http://support.pusher.com/上的跨站点资源关联的 cookie设置时没有该
SameSite属性。Chrome 的未来版本将仅在设置了SameSite=None和 的情况下通过跨站点请求传递 cookieSecure。您可以在开发者工具中的“应用程序”>“存储”>“Cookies”下查看 Cookie,并在https://www.chromestatus.com/feature/5088147346030592和https://www.chromestatus.com/feature/5633521622188032上查看更多详细信息。
这都是堆栈溢出。
我disableSats是的,虽然 websockets 仍然运行并且工作正常,但最终 chrome 会说“不”。所以我不知道这是否是推送器问题、laravel websockets 问题还是什么。
有人对我可以做什么或尝试做什么有任何想法吗?我已经尝试forceTLS: true在上面的配置中进行设置,这似乎有效 - 但随后网络套接字将无法连接。
我担心有一天我的应用程序会停止工作,因为我们依赖 websockets 来实现很多功能,而这是最简单、最好的库之一,不需要几天的研究和设置。
首先我们必须了解此操作的工作流程。
\n\n这是例子;
\n\nYour laravel backend\n \xe2\x96\xbc\n[pub/sub service (can be redis pusher etc..)]\n \xe2\x96\xbc\nlaravel echo server\n \xe2\x96\xbc\nwebsocket client ( mostly laravel echo client)\nRun Code Online (Sandbox Code Playgroud)\n\n在客户端
\n\nWebsocket (mostly laravel echo client)\n \xe2\x96\xbc\nLaravel echo server \n \xe2\x96\xbc\nhttp request to laravel backend\nRun Code Online (Sandbox Code Playgroud)\n\n如果您试图找到从客户端到推送网站的跟踪,那么您的客户端不可能与 laravel echo 服务器做出反应。
\n\n如果你想跟踪 laravel echo 服务器到 Pusher,那么你必须调试 laravel echo 服务器。
\n\n就你的情况而言,如果你想调试的话,很可能推送器工作得很好(我已经使用他们的服务一段时间了,从未见过问题)。您可以使用 redis 服务器并将 laravel echo 连接到 redis (并且它可以在您的本地网络上工作,比 Pusher 快得多)
\n\n我希望它有帮助。
\n| 归档时间: |
|
| 查看次数: |
1377 次 |
| 最近记录: |