Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SNS订阅从未发送/接收?_Php_Amazon Web Services_Amazon Sns - Fatal编程技术网

Php SNS订阅从未发送/接收?

Php SNS订阅从未发送/接收?,php,amazon-web-services,amazon-sns,Php,Amazon Web Services,Amazon Sns,我已经在我的SNS控制台面板中创建了一个http订户。我需要维护每封电子邮件的状态(反弹、投诉) 我已经设置了一个可公开访问的http端点,创建了对我的主题的订阅,我单击订阅按钮,弹出窗口显示“将向订阅的端点发送确认消息” 我只是不知道如何验证我的端点并从Amazon SNS收集post数据 我已将端点url设置为以下格式 端点将把所有post数据附加到一个文本文件中,当我从浏览器请求端点时,数据被写入。 是我做错了什么 我已经试着订阅1天了,运气不好。非常感谢您的帮助。注意:我假设问题是您的

我已经在我的SNS控制台面板中创建了一个http订户。我需要维护每封电子邮件的状态(反弹、投诉)

我已经设置了一个可公开访问的http端点,创建了对我的主题的订阅,我单击订阅按钮,弹出窗口显示“将向订阅的端点发送确认消息”

我只是不知道如何验证我的端点并从Amazon SNS收集post数据

我已将端点url设置为以下格式

端点将把所有post数据附加到一个文本文件中,当我从浏览器请求端点时,数据被写入。 是我做错了什么


我已经试着订阅1天了,运气不好。非常感谢您的帮助。

注意:我假设问题是您的端点没有看到任何请求。如果这不是你的问题,请回复我,并用你的问题更新你的问题

以下是一些可能性:


  • 您正在将https与自签名证书(或来自SNS不信任的公司的证书)一起使用()
  • 您正在侦听端口80(用于http)以外的端口,但尚未指定SNS的端口
  • 您的ISP正在阻止您正在侦听的任何端口上的传入连接
  • 您有防火墙阻止或路由器未在您正在侦听的端口上转发连接
  • 你的PHP有点问题
  • 一些问题会让我更容易帮助您:

  • 您在哪里托管php(您的房子、EC2、托管服务等)
  • 你能从php页面托管地以外的人那里访问它吗

  • 把这个放到sns_notification.php中

    然后,您将在电子邮件中收到发布到url的正文,其中来自亚马逊的消息将显示一个链接,以确认您的SNS主题订阅

    <?php
    
    $headers = apache_request_headers();
    $body = @file_get_contents('php://input');
    
    mail("YOUREMAILADDRESS@gmail.com", "ses callback", print_r($headers, 1)."\n---body---\n".$body);
    
    ?>
    
    
    
    是的!好主意!!我正在检查日志文件以查看亚马逊何时攻击我的服务器,但我们的编码人员最初的配置有误,现在我们无法让亚马逊重新发送确认消息(在等待的订阅上单击了“重新发送确认”一次),这是我的问题。谢谢你的提示。你的第一点指引了我正确的方向,谢谢!事实证明,ssl配置也可能存在其他问题;我用一个新证书配置了一个旧的中间包;Apache并不介意,事实上大多数主流浏览器也不介意。然而,AWS似乎相当挑剔,并期望整个链条井然有序。