【问题标题】:Sockets not working in AWS ec2 using PHP?套接字在使用 PHP 的 AWS ec2 中不起作用?
【发布时间】:2021-04-06 21:59:40
【问题描述】:

无法使 socket.io 在 AWS EC2 上运行

 https://mydoamin.com:2120/socket.io/?EIO=3&transport=polling&t=NQpMyRI net::ERR_TIMED_OUT
i.create @ socket.io.js?v=1609310849:7

本地主机一切正常,但在实际环境中,我遇到了错误。

当我使用 [workerman][1] 连接并使用 CLI 在 ubuntu 实例上启动它时,它工作正常

即使我已将其添加到入站设置下的安全组中,端口也无法正常工作:-

现在配置后出现这个错误:

<?php
use kriss\webMsgSender\WebMsgSender;

return [
   'components' => [
       // others
       WebMsgSender::COMPONENT_NAME => [
           'class' => WebMsgSender::class,
           'pushApiClientHost' => '0.0.0.0',
           'logCategory' => 'webMsgSender',
       ],
   ],
];

新错误

socket.io.js?v=1609310849:7 GET https://myDoamin.com:2120/socket.io/?EIO=3&transport=polling&t=NQpU3PA net::ERR_CONNECTION_RESET

Extension我正在使用

【问题讨论】:

    标签: php sockets ubuntu amazon-ec2 websocket


    【解决方案1】:

    确保您将套接字 io 配置为监听绑定到所有 IP 地址,而不仅仅是本地主机

    所以而不是

    <?php
    use kriss\webMsgSender\WebMsgSender;
    
    return [
        'components' => [
            // others
            WebMsgSender::COMPONENT_NAME => [
                'class' => WebMsgSender::class,
                'pushApiClientHost' => 'localhost',
                'logCategory' => 'webMsgSender',
            ],
        ],
    ];
    

    改成

    <?php
    use kriss\webMsgSender\WebMsgSender;
    
    return [
        'components' => [
            // others
            WebMsgSender::COMPONENT_NAME => [
                'class' => WebMsgSender::class,
                'pushApiClientHost' => '0.0.0.0',
                'logCategory' => 'webMsgSender',
            ],
        ],
    ];
    

    基本上把 localhost 改成 0.0.0.0

    【讨论】:

    • 修改后,这是socket.io.js?v=1609310849:7 GET myDoamin.com:2120/socket.io/…net::ERR_CONNECTION_RESET
    • 先尝试telnet确认连接 telnet myDoamin.com 2120
    猜你喜欢
    • 2014-10-30
    • 2017-06-30
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2017-11-17
    • 1970-01-01
    相关资源
    最近更新 更多