gpt4 book ai didi

ruby-on-rails - 在 Elastic Beanstalk 上使用 Elasticache for Rails 5.0 应用程序配置 ActionCable

转载 作者:行者123 更新时间:2023-12-04 03:45:17 25 4
gpt4 key购买 nike

我已经在 Amazon Web Services 上使用 Elastic Beanstalk 创建了一个 Rails 5.0 应用程序,并且我已经能够使用正常运行的数据库成功创建网站。唯一的问题是我的应用程序需要 ActionCable 才能工作,而且我很难配置 Elasticache 并使 Rails 应用程序成功地与 Elasticache 集群通信。

很多人告诉我 Elastic Beanstalk 中的负载均衡器不允许与 Elasticache 集群进行任何通信,而且我找不到任何关于如何将 Redis 集成到 Elastic Beanstalk 以正确配置 ActionCable 的文档.

你们知道使用 Elasticache 在 Elastic Beanstalk Rails 5.0 应用程序上成功设置 ActionCable 的分步详细方法吗?

最佳答案

最重要的是将负载均衡器更改为用户 TCP 和 SSL,而不是 HTTP 和 HTTPS。您还需要配置 nginx 以在/cable 位置传递升级 header 。

尝试在您的 .ebextensions 文件夹中添加此文件 (nginx.config):

files:
/etc/nginx/conf.d/proxy.conf:
content: |
client_max_body_size 500M;
server_names_hash_bucket_size 128;

upstream backend {
server unix:///var/run/puma/my_app.sock;
}

server {
listen 80;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

server_name *.cmgresearch.net;

large_client_header_buffers 8 32k;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_buffers 8 32k;
proxy_buffer_size 64k;

proxy_pass http://backend;
proxy_redirect off;

location /assets {
root /var/app/current/public;
}

# enables WS support
location /cable {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}


container_commands:
01restart_nginx:
command: "service nginx restart"

https://blog.cmgresearch.com/2017/05/11/step-7-action-cable-on-elastic-beanstalk.html

关于ruby-on-rails - 在 Elastic Beanstalk 上使用 Elasticache for Rails 5.0 应用程序配置 ActionCable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42868410/

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