Todos os produtos
Search
Central de documentação

ApsaraMQ for RabbitMQ:Acesse uma instância com autenticação open-source pelo endpoint público

Última atualização: Jul 15, 2026

O acesso à instância por um endpoint público exige configurações adicionais em determinados casos.

Escopo de aplicação

Este tópico aplica-se a instâncias do ApsaraMQ for RabbitMQ que atendem a todos os critérios a seguir:

  • A instância utiliza o modo de autenticação e gerenciamento de permissões open-source. Consulte Autenticação open-source.

  • A edição da instância é:

    • Serverless:

      • (Exclusive) Pay-by-Provisioned-Capacity-and-Elastic-Traffic

      • (Shared) Pay-by-Provisioned-Capacity-and-Elastic-Traffic

      • (Shared) Pay-by-Messaging-Request

    • Assinatura:

      • Enterprise Edition

      • Enterprise Platinum Edition

  • Um endpoint público está visível na página Instance Details.

  • Pré-requisitos

    Antes de se conectar, conclua as configurações a seguir:

    Importante

    Para garantir a segurança do acesso, ative a lista de permissões de endereços IP públicos ao acessar a instância pela Internet. Adicione o endereço IP público real ou o bloco CIDR do cliente à lista de permissões. Somente clientes incluídos nesse intervalo podem acessar a instância.

    1. Na página Users and Permissions da instância, crie um nome de usuário e uma senha personalizados e conceda permissões de operação no vhost de destino e nos recursos relacionados. Para mais informações, consulte Usuários e permissões.

    2. Adicione o endereço IP público real ou o bloco CIDR do cliente à lista de permissões de endereços IP públicos da instância. Para mais informações, consulte Lista de permissões.

    3. Na página Instance Details, obtenha o Instance ID e o endpoint público. Copie diretamente o endpoint público exibido no console. Não concatene o nome de domínio manualmente.

    Configure o ID da instância no cliente

    Ao se conectar pelo endpoint público, os requisitos de configuração do cliente variam conforme a edição:

    Série da instância

    Edição

    ID da instância obrigatório

    Descrição

    Serverless

    (Exclusive) Pay-by-Provisioned-Capacity-and-Elastic-Traffic

    Não

    O servidor identifica automaticamente a instância de destino.

    Serverless

    (Shared) Pay-by-Provisioned-Capacity-and-Elastic-Traffic

    Sim

    O cliente deve especificar a instância de destino via AMQP Client Properties.

    Serverless

    (Shared) Pay-by-Messaging-Request

    Sim

    O cliente deve especificar a instância de destino via AMQP Client Properties.

    Assinatura

    Enterprise Platinum Edition

    Não

    O servidor identifica automaticamente a instância de destino.

    Assinatura

    Enterprise Edition

    Sim

    O cliente deve especificar a instância de destino via AMQP Client Properties.

    Exemplo de configuração Java

    Se sua edição exigir o ID da instância (consulte a tabela acima), configure o endpoint público, o nome de usuário, a senha e o vhost seguindo as instruções em Usar um SDK para enviar e receber mensagens. Em seguida, adicione a configuração abaixo antes de chamar newConnection():

    String instanceId = "amqp-cn-xxxxxxxx";
    
    // The factory has been configured with the public endpoint, username, password, and vhost.
    Map<String, Object> clientProperties =
            new HashMap<String, Object>(factory.getClientProperties());
    clientProperties.put("aliyun_rabbitmq_instance_id", instanceId);
    factory.setClientProperties(clientProperties);
    
    Connection connection = factory.newConnection();

    Observe os pontos a seguir:

    • O valor de aliyun_rabbitmq_instance_id deve corresponder ao ID da instância exibido no console, e não ao endpoint público.

    • Nas edições (Shared) Pay-by-Provisioned-Capacity-and-Elastic-Traffic e (Shared) Pay-by-Messaging-Request da série Serverless, bem como na Enterprise Edition da série Assinatura, defina essa propriedade antes de criar a conexão.

    • Copie e preserve as propriedades padrão obtidas por factory.getClientProperties() para evitar sobrescrever as informações internas do cliente Java.

    • As edições (Exclusive) Pay-by-Provisioned-Capacity-and-Elastic-Traffic da série Serverless e Enterprise Platinum Edition da série Assinatura não exigem essa propriedade. Se você definir a propriedade, o valor deverá corresponder exatamente ao ID real da instância.

    Solução de problemas de falha na conexão

    Se a conexão pública for rejeitada, verifique os itens abaixo nesta ordem:

    1. Verifique se o endereço IP público real do cliente foi adicionado à lista de permissões de endereços IP públicos da instância de destino.

    2. Para as edições (Shared) Pay-by-Provisioned-Capacity-and-Elastic-Traffic e (Shared) Pay-by-Messaging-Request da série Serverless, ou para a Enterprise Edition da série Assinatura, confirme se aliyun_rabbitmq_instance_id está definido e corresponde exatamente ao ID da instância de destino. As edições (Exclusive) Pay-by-Provisioned-Capacity-and-Elastic-Traffic e Enterprise Platinum Edition não exigem essa propriedade.

    3. Confirme se o nome de usuário e a senha personalizados estão corretos e se o usuário tem permissões de acesso ao vhost de destino.

    4. Certifique-se de que o cliente está configurado com o endpoint público da instância, e não com o endpoint do service OpenAPI.

    Para problemas relacionados a timeouts de rede, permissões de recursos ou configurações gerais de SDK, consulte Possíveis causas e soluções para falhas de conexão.