0

Puma と Nginx 1.10 を使用して vps にデプロイされたチャット アプリケーションがあります。nginx の構成は次のとおりです。

upstream websocket {
  server 127.0.0.1:28080;
}

server {
  location /cable {
    proxy_pass http://websocket/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
  }
}

これは、ケーブルの config.ru ファイルです。

require ::File.expand_path('../../config/environment',  __FILE__)
Rails.application.eager_load!

ActionCable.server.config.disable_request_forgery_protection = true

run ActionCable.server

environment/production.rb 内

config.action_cable.allowed_request_origins = ['http://ahu.mydomain.ir', 'https://ahu.mydomain.ir']
config.action_cable.url = "ws://ahu.mydomain.ir/cable"

クライアントがプロキシ サーバー経由でインターネットに接続され、Chrome コンソールで次のエラーが表示されます。

「ws://ahu.mydomain.ir/cable」への WebSocket 接続に失敗しました: プロキシ サーバー経由でトンネルを確立できませんでした

プロキシのない別のクライアントでは、すべて問題ありません。

4

1 に答える 1

0

幸いなことに、私は答えを見つけました.SSLをVPSに追加し、ポート443でそれを使用するようにNginx構成を設定する必要があります.

SSL を使用するには、Nginx .conf ファイルに以下を追加する必要があります。

server {
        listen       443 ssl;
        server_name  YOUR_SERVER;
        ssl on;
        ssl_certificate /path/to/FILE.crt;
        ssl_certificate_key /path/to/FILE.key;
    }
于 2016-07-04T06:46:23.813 に答える