【发布时间】:2020-02-17 15:34:22
【问题描述】:
很多公司或工作场所都有安全协议,只有公共端口是开放的,例如。 80 (HTTP)、443 (HTTPS)。如果我们让我们的 Web 应用尝试连接到端口 6001(默认情况下为 laravel-echo-server),那么您的某些用户肯定会在端口关闭时遇到问题...Source
在 nginx 中创建子域后,我通过它启动了套接字并且它工作了,除了现在我无法连接到任何通道。 Client can not be authenticated, got HTTP status 419"message": "CSRF 令牌不匹配。",
实验禁用csrf保护,错误改成Client can not be authenticated, got HTTP status 403"message": "",
app.js
/**
* Port configured on proxy server (default: 6001).
* The default port for HTTPS protocol is 443.
*
* @type {string}
*/
const ECHO_DOMAIN = process.env.NODE_ENV === 'production'
? 'ws.site.com'
: 'wsdev.site.com';
window.io = require('socket.io-client');
if (typeof io !== 'undefined') {
window.Echo = new Echo({
broadcaster: 'socket.io',
host: `https://${ECHO_DOMAIN}`,
reconnectionAttempts: 120
});
...
如何解决?
【问题讨论】:
标签: laravel nginx websocket laravel-echo broadcasting