Я несколько раз пытался подключиться к серверу веб-сокетов, выполненному с помощью actionable, и развернуть его на Amazon EC2.
К сожалению, я снова и снова сталкиваюсь с этой проблемой, когда перехожу на страницу, которая позволяет мне отображать сообщения, отправленные в websocket.
Javascript не может подключиться к серверу, и я не понимаю, почему.
Я несколько раз пытался изменить конфигурацию nginx, а также изменить входящие правила EC2.
Я также несколько раз менял параметры "config.action_cable.url" и "config.action_cable.allowed_request_origins".
ошибка, отображаемая навигатором, связана с тем, что при тестировании с клиентом: «Соединение WebSocket с« ws: //52.47.133.83: 3001 / test / cable »не удалось: Ошибка при установлении соединения: net :: ERR_CONNECTION_REFUSED
«
и веб-сокет отключен: операция не может быть завершена. Отказ в соединении на клиенте IOS.
nginx.conf
upstream app {
server unix:///home/ubuntu/happer-api2/shared/sockets/puma.sock;
}
upstream thin {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name localhost;
try_files $uri/index.html $uri @app;
location /{
root /home/ubuntu/happer-api/public;
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_redirect off;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
proxy_pass http://thin;
break;
}
}
location /test {
root /home/ubuntu/happer-api2/public;
proxy_pass http://app;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
index index.html index.htm;
}
location /cable {
proxy_pass http://unix:/home/ubuntu/happer-api2/shared/sockets/puma.sock;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
location ~* ^/assets/ {
root /home/ubuntu/happer-api2/public;
expires 1y;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
break;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
development.rb
Rails.application.configure do
config.cache_classes = false
config.eager_load = false
config.consider_all_requests_local = true
if Rails.root.join('tmp', 'caching-dev.txt').exist?
config.action_controller.perform_caching = true
config.cache_store = :memory_store
config.public_file_server.headers = {
'Cache-Control' => "public, max-age=#{2.days.to_i}"
}
else
config.action_controller.perform_caching = false
config.cache_store = :null_store
end
config.active_storage.service = :local
config.action_mailer.raise_delivery_errors = false
config.action_mailer.perform_caching = false
config.active_support.deprecation = :log
config.active_record.migration_error = :page_load
config.active_record.verbose_query_logs = true
config.assets.debug = false
config.assets.quiet = true
config.action_cable.url = 'ws://52.47.133.83:3001/test/cable'
config.action_cable.allowed_request_origins = ["http://52.47.133.83"]
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
end