无法使用 Rails / Vue / Nginx / Puma 正确配置 WebSocket

问题描述

我一整天都在研究这个,到目前为止一无所获。I've tried everything including this但仍然没有运气。

我似乎无法使用 Rails/Vue/Nginx/Puma 正确配置 WebSocket

我收到了臭名昭著的错误

Failed to upgrade to WebSocket (REQUEST_METHOD: GET,HTTP_CONNECTION: Upgrade,HTTP_UPGRADE: )

我的配置文件如下:

location @app {
   proxy_pass http://localhost:3009;
   proxy_set_header X-Forwarded-Proto https;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header Host $http_host;
   proxy_redirect off;
 }

  location /cable {
    proxy_pass http://localhost:3009;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
  }

然后是路线:

Rails.application.routes.draw do
  root :to => 'home#index'
  mount ActionCable.server => '/cable'

development.rb

  config.action_cable.url = "ws://localhost:3009/cable"
  config.action_cable.allowed_request_origins = [/http:\/\/*/,/https:\/\/*/]
  config.action_cable.disable_request_forgery_protection = true

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...