首页 > 解决方案 > AWS SNS 从 Ec2 独立 Java 应用程序推送到 android 手机

问题描述

我有一个在我的 EC2 实例上运行的独立 Java 应用程序。我想向已注册的手机发送推送消息。

我已经在 Firebase 上注册并在 AWS SNS 控制台上配置了服务器密钥等。然后,我的服务器应用程序使用 AWS 开发工具包将消息推送到客户端。

现在尝试 push 时,我收到以下异常:

.IllegalArgumentException: Request endpoint must have a valid hostname, but it did not: https://sns.https%3A%2F%2Fsns.eu-west-1.amazonaws.com.amazonaws.com
        at com.amazonaws.auth.AWS4Signer.addHostHeader(AWS4Signer.java:548)
        at com.amazonaws.auth.AWS4Signer.sign(AWS4Signer.java:237)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1304)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1145)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:802)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:770)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:744)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:704)
        at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:686)

标签: amazon-web-servicesamazon-ec2firebase-cloud-messagingamazon-sns

解决方案


推荐阅读