gpt4 book ai didi

laravel - 我在浏览器端需要什么 URI 才能从 heroku 的 redis 插件连接到 amazon redis 服务器

转载 作者:可可西里 更新时间:2023-11-01 11:23:35 26 4
gpt4 key购买 nike

我正在尝试使用 redis 和 socket.io 在 heroku 上设置一个聊天应用程序,但我不知道应该在客户端放置什么 uri。

我尝试过的所有 uri,给我一个 404、name_not_resolved 或超时错误。


我有一个 heroku 应用程序,它正在运行一个 node.js buildpack,它所做的只是运行 socket.js 文件。

我还有另一个 php heroku 应用程序,它有带 redis 广播的 laravel 后端和一个 vue 前端。


设置广播以便当有人发布帖子或发出“/”的 GET 请求时,将分别在“new-post-channel”和“user-entered-chat-c​​hannel”上触发事件。


我可以进入 socket.js 应用程序的 bash 并运行“node socket.js”。我可以看到它连接到 heroku 的 redis 插件 Amazon 服务器并接收广播。

我还可以进入第二个应用程序的 heroku 的 redis-cli,进入监控模式,然后看到广播正在按预期接收。


这一切都在一个 vagrant homestead 虚拟服务器上运行,但在 heroku 上却不行。


var socket = io('redis://h:oaisuhaosiufhasodiufh@ec2-99-81-167-43.eu-west-1.compute.amazonaws.com:6639');

(也许您还知道如何在我的第一个应用程序上自动运行“node socket.js”命令,这样我就不必进入 heroku 的 bash 并手动运行它了?)

最佳答案

总之..我终于在 Vultr.com 上获得了 VPS.. 并遇到了同样的问题..

所以答案是

  1. 如果您完成了 https.. 那么您需要输入您所在的域。
io('https://'+ window.location.hostname, {reconnect: true});
  1. 您需要导航到您的 nginx 配置文件并编辑它们。我已经在可用站点部分设置了我的。
/etc/nginx/sites-available/yourDomainOrIp.conf

3。您将在配置文件中找到这些部分的“位置”。做一个新的。我把我的放在其他人之前。

        location /socket.io/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass "http://localhost:3000/socket.io/";
}

这部分意味着如果你访问/socket.io/它将被重定向到本地主机端口 3000。在本地主机端口 3000 上,我有 nodejs 应用在监听

var server = require('http').Server();
var io = require('socket.io')(server);

var Redis = require('ioredis');
var redisNewMessage = new Redis();
var redisUserEntered = new Redis();
server.listen(3000);

Soo..我仍然不知道如何完全回答这个问题..但基本上:

在那个 io() 中,您需要传递一个地址,该地址最终将“/socket.io/polling%something&something”传递给本地主机和 nodejs 应用程序所在的服务器端口。

该亚马逊链接保留在 nodejs new Redis () 中。Socket.io 必须连接到 nodejs 应用程序文件,然后一切正常。

关于laravel - 我在浏览器端需要什么 URI 才能从 heroku 的 redis 插件连接到 amazon redis 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55867233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com