本文为您介绍了在使用短信服务时需要访问的域名的具体信息。

默认公网使用(推荐)

短信服务的全部功能使用了3个域名,域名清单如下:

编号 功能 域名
1 短信发送 dysmsapi.aliyuncs.com
2 消息接收1 dybaseapi.aliyuncs.com
3 消息接收2 http(s)://1943695596114318.mns.cn-hangzhou.aliyuncs.com

专有网络(VPC)使用

仅支持4个地域(华东1、华东2、华北2、华南1) 的专有网络下ECS通过内网请求接口。

  • 短信发送接口必须通过POST的数据提交方式和JSON的数据交互格式才可以使用。
  • 需要使用云通信消息接收的用户还需要将队列的地域修改为与ECS相同的地域。

地域设置流程:

  1. 登录短信服务控制台
  2. 单击系统设置>通用设置,进入云通信消息接收页面。
  3. 单击设置地域,选择与服务器部署一致的地域。地域设置
说明 接口中RegionID必须正确填写为ECS所在地域;经典网络的ECS不支持内网调用,请继续使用公网地址;消息接收2的地址不支持https。

各地域Region和接口地址Endpoint的对照表

华东1 : cn-hangzhou
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-hangzhou.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-hangzhou.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-hangzhou-internal-vpc.aliyuncs.com
华东2 : cn-shanghai
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-shanghai.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-shanghai.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-shanghai-internal-vpc.aliyuncs.com
华北2 : cn-beijing
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-beijing.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-beijing.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-beijing-internal-vpc.aliyuncs.com
华南1 : cn-shenzhen
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-shenzhen.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-shenzhen.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-shenzhen-internal-vpc.aliyuncs.com

使用SDK的客户将公网地址改为VPC地址的说明

  • 修改SDK示例中的domain。
  • 修改SDK示例中的提交方式和交互格式。

java发送示例修改如下:

  1. 短信发送
    ...
    import com.aliyuncs.http.FormatType;
    import com.aliyuncs.http.MethodType;
    ...
    final String domain = "dysmsapi-vpc.cn-hangzhou.aliyuncs.com";//指定对应地域的"短信发送"用的域名,默认公网是dysmsapi.aliyuncs.com"; 
    ...
    DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);//指定与ECS相同的地域
    ...
    SendSmsRequest request = new SendSmsRequest();
    #修改数据提交方式
    request.setMethod(MethodType.POST);
    #修改数据交互格式
    request.setAcceptFormat(FormatType.JSON);    
  2. 消息回执
    DefaultAlicomMessagePuller puller=new DefaultAlicomMessagePuller();
    String accessKeyId="yourAccessKeyId";
    String accessKeySecret="yourAccessKeySecret";
    String messageType="SmsReport";//短信回执:SmsReport,短信上行:SmsUp
    String queueName="yourQueueName";//在云通信页面开通相应业务消息后,就能在页面上获得对应的queueName
    String regionIdForPop = "cn-hangzhou";//指定与ECS相同的地域
    String endpointNameForPop = "cn-hangzhou";//指定与ECS相同的地域
    String domainForPop = "dybaseapi-vpc.cn-hangzhou.aliyuncs.com";//指定对应地域的"消息接收1"用的域名
    String mnsAccountEndpoint = "http://1943695596114318.mns.cn-hangzhou-internal-vpc.aliyuncs.com";//指定对应地域的"消息接收2"用的域名
     puller.startReceiveMsgForVPC(accessKeyId,accessKeySecret ,messageType,queueName , regionIdForPop , endpointNameForPop , domainForPop , mnsAccountEndpoint,  new MyMessageListener());

直接使用HTTP封装的客户将公网地址改为VPC地址的说明

  1. 修改或核对系统参数中的数据格式为JSON。
    paras.put("Format", "JSON");    
  2. 修改或核对业务参数中RegionId与所在地域相同。
    paras.put("RegionId", "cn-hangzhou");            
  3. 修改或核对请求域名与对照表中的域名相同。
  4. 计算Signature中的HTTPMethod改成POST。
  5. 修改提交方式为POST。