簡體   English   中英

使用 Apache PHP 和 Laravel 在 Elastic Beanstalk 上使用 WSS 安全 Websocket

[英]WSS Secure Websockets on Elastic Beanstalk with Apache PHP and Laravel

在 AWS 彈性 beantalk 上讓安全的 websockets 在 laravel 中工作時遇到問題。

他們在開發和生產中通過 http & ws 工作得很好。

在開發中,它在 https 和 wss 上運行良好。

在生產中(使用所有相同的設置,只是不同的證書)通過 https 和 wss 我收到以下錯誤

失敗:連接建立錯誤:net::ERR_CONNECTION_CLOSED

假設證書或密鑰有問題,我嘗試更改為不正確的證書和密鑰。 然后錯誤更改為以下內容。

失敗:連接建立錯誤:net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH

所以我假設證書不是問題。

配置如下:websockets.php

'apps' => [
    [
        'id' => env('PUSHER_APP_ID'),
        'name' => env('APP_NAME'),
        'key' => env('PUSHER_APP_KEY'),
        'secret' => env('PUSHER_APP_SECRET'),
        'path' => env('PUSHER_APP_PATH'),
        'capacity' => null,
        'enable_client_messages' => true,
        'enable_statistics' => true,
    ],
],
'ssl' => [
    /*
     * Path to local certificate file on filesystem. It must be a PEM encoded file which
     * contains your certificate and private key. It can optionally contain the
     * certificate chain of issuers. The private key also may be contained
     * in a separate file specified by local_pk.
     */
    'local_cert' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT', null),

    /*
     * Path to local private key file on filesystem in case of separate files for
     * certificate (local_cert) and private key.
     */
    'local_pk' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_PK', null),

    /*
     * Passphrase for your local_cert file.
     */
    'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null),


    'verify_peer' => false,
],

.env 文件

LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT=/etc/pki/tls/certs/cert.cer
LARAVEL_WEBSOCKETS_SSL_LOCAL_PK=/etc/pki/tls/certs/server.key

請將密碼添加到您的證書文件和 env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null)。

我在沒有密碼的密鑰庫上遇到了同樣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM