gpt4 book ai didi

ssl - 无法使用 SSL 连接到 Rabbitmq

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:03 24 4
gpt4 key购买 nike

我一直在尝试通过 SSL 连接到 Rabbitmq。我遵循的步骤如下:

  1. 使用 tls-gen 在服务器上生成证书和 pem 文件

    生成的文件如下:

    • server_key.pem

    • server_certificate.pem

    • client_key.pem

    • client_certificate.pem

    • ca_key.pem

    • ca_certificate.pem

  2. 点击此链接 enabling ssl rabbitmq ,我在 /etc/rabbitmq 下创建了一个名为 rabbitmq.config 的文件,复制了一个默认配置文件并取消注释以下行:

    [
    {兔子, [
    {tcp_listeners,[5671]},
    {ssl_listeners, [5672]},
    {auth_mechanisms, ['EXTERNAL','PLAIN']},
    {ssl_options, [{cacertfile,"/path/to/ca_certificate.pem"},
    {certfile,"/path/to/server_certificate.pem"},
    {keyfile,"/path/to/server_key.pem"},
    {验证,verify_peer},
    {fail_if_no_peer_cert,false}]}
    ]}
    ].

  3. 我已将客户端 key 复制到我尝试从中连接到 rabbitmq 的机器,并使用以下参数:

    RABBITMQ_CONNECTION_PARAMETERS = {'host': 'rabbitmqHost', 'port': 5671,
    'heartbeat_interval':0,
    'ssl':是的,
    'ssl_options': {'certfile':'client_certificate.pem',
    ' key 文件':'client_key.pem',
    }
    }

根据此 link 中指定的参数

在没有启用 SSL 和使用普通凭据的情况下,我能够连接到 rabbitmq 服务器。但是,使用上述设置,我在连接时遇到以下错误:

DEBUG:pika.callback:Added: {'callback': >, 'only': None, 'one_shot': False, 'arguments': None} 2017-03-10 16:00:23 [pika.callback] DEBUG: Added: {'callback': >, 'only': None, 'one_shot': False, 'arguments': None} DEBUG:pika.callback:Added: {'callback': >, 'only': None, 'one_shot': True, 'arguments': None, 'calls': 1} 2017-03-10 16:00:23 [pika.callback] DEBUG: Added: {'callback': >, 'only': None, 'one_shot': True, 'arguments': None, 'calls': 1} INFO:pika.adapters.base_connection:Connecting to rabbitmqSever:5672 with SSL 2017-03-10 16:00:23 [pika.adapters.base_connection] INFO: Connecting to rabbitmqSever:5672 with SSL WARNING:pika.adapters.base_connection:Connection to rabbitmqSever:5672 failed: [Errno 336265218] _ssl.c:355: error:140B0002:SSL routines:SSL_CTX_use_PrivateKey_file:system lib 2017-03-10 16:00:23 [pika.adapters.base_connection] WARNING: Connection to rabbitmqSever:5672 failed: [Errno 336265218] _ssl.c:355: error:140B0002:SSL routines:SSL_CTX_use_PrivateKey_file:system lib WARNING:pika.connection:Could not connect, 0 attempts left 2017-03-10 16:00:23 [pika.connection] WARNING: Could not connect, 0 attempts left DEBUG:pika.callback:Processing 0:_on_connection_error 2017-03-10 16:00:23 [pika.callback] DEBUG: Processing 0:_on_connection_error DEBUG:pika.callback:Calling > for "0:_on_connection_error" 2017-03-10 16:00:23 [pika.callback] DEBUG: Calling > for "0:_on_connection_error" Unhandled error in Deferred: CRITICAL:twisted:Unhandled error in Deferred: 2017-03-10 16:00:23 [twisted] CRITICAL: Unhandled error in Deferred:

更新:

如果我使用 openssl 连接:

openssl s_client -connect server:5671 -cert client_certificate.pem -key client_key.pem

我得到以下信息:

已连接(00000003)
140243320723104:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:795:
没有可用的对等证书
未发送客户端证书 CA 名称
SSL 握手已读取 7 个字节并写入 295 个字节
新的,(无),密码是(无)
不支持安全重新协商
压缩:无
扩展:无

并且 rabbitmq 日志显示了一个连接,但是来自 ssl 端口 5672,它说连接被拒绝。

请注意:我正在从 scrapy spider

连接到 rabbitmq

最佳答案

可怕的是 2 年内没有人回答这个问题......我让它在同一个实例上通过 SSL 工作。 Click here但我还没有让它在本地主机之外工作,因为它似乎尽管使用了 SSL,但它仍然使用“ guest ”用户,而 guest 用户不允许来自本地主机外部的连接。

%% -*- mode: erlang -*-

[
{rabbit,
[
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile,"/home/daudn/tls-gen/basic/result/ca_certificate.pem"},
{certfile,"/home/daudn/tls-gen/basic/result/server_certificate.pem"},
{keyfile,"/home/daudn/tls-gen/basic/result/server_key.pem"},
{verify,verify_none},
{fail_if_no_peer_cert,false}]},

{auth_mechanisms, ['PLAIN', 'EXTERNAL']}


].

关于ssl - 无法使用 SSL 连接到 Rabbitmq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42716360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com