其他分享
首页 > 其他分享> > amazon-web-services – AWS SNS通知未使用HTTPS访问服务器

amazon-web-services – AWS SNS通知未使用HTTPS访问服务器

作者:互联网

我们有一个PHP平台作为AWS SNS服务的客户端.
我们在后端使用NGINX作为Apache 2的代理.

通过端口80(HTTP)发送通知时,此工作正常.
我们最近实施了SSL证书,以更好地模拟我们的生产环境.
我们在AWS SNS控制台中使用HTTPS协议进行了新订阅,但订阅消息从未到达PHP后端.它在途中被封锁了.

从NGINX访问日志中我们无法检索任何答案.
我们看到以下几行我们怀疑是来自SNS(IP解析到亚马逊网络内的某个位置)

54.240.197.67 - - [10/Feb/2014:10:49:42 +0000] "-" 400 0 "-" "-"
54.240.197.2 - - [10/Feb/2014:10:50:03 +0000] "-" 400 0 "-" "-"
62.75.187.88 - - [10/Feb/2014:10:50:07 +0000] "-" 400 0 "-" "-"
54.240.197.65 - - [10/Feb/2014:10:50:23 +0000] "-" 400 0 "-" "-"   
54.240.197.35 - - [10/Feb/2014:10:51:48 +0000] "-" 400 0 "-" "-"
54.240.197.66 - - [10/Feb/2014:10:52:09 +0000] "-" 400 0 "-" "-"
54.240.197.35 - - [10/Feb/2014:10:52:30 +0000] "-" 400 0 "-" "-"
54.240.197.33 - - [10/Feb/2014:10:52:51 +0000] "-" 400 0 "-" "-"

我们的NGINX配置看起来像这样

 listen 443;

    root /var/www/example_dev/public/;
    index index.php index.html index.htm;
    server_name dev.example.com;

    client_max_body_size 20M;

    ssl on;
    ssl_certificate /etc/nginx/ssl/dev.example.com/dev.example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/dev.example.com/dev.example.com.key;

    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
    ssl_prefer_server_ciphers on;

    access_log /var/log/nginx/nginx.dev_example_com.access.log;
    error_log /var/log/nginx/nginx.dev_example_com.error.log;

    location / {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:8080;

    }

    location ~ /\.ht {
            deny all;
    }

我们预感到我们使用的证书的CA可能不被AWS信任,但您如何确认? CA PositiveSSL CA 2,根CA AddTrust外部CA根

也许问题出在NGINX配置中?

提前致谢!

UPDATE

这似乎是一个SSL证书问题.将CA根证书添加(连接)到域证书后,SNS通知可能会命中服务器.但是,它只触及NGINX配置中首先列出的子域.
在处理域的顺序后,我在配置文件中较低的子域中发现了一个错误.
现在一切都有效.我怀疑AWS SNS如果没有提供,则不会查找CA Root证书.

解决方法:

这似乎是一个SSL证书问题.将CA根证书添加(连接)到域证书后,SNS通知可能会命中服务器.但是,它只触及NGINX配置中首先列出的子域.在处理域的顺序后,我在配置文件中较低的子域中发现了一个错误.现在一切都有效.我怀疑AWS SNS如果没有提供,则不会查找CA Root证书.

标签:nginx,https,amazon-web-services,amazon-sns
来源: https://codeday.me/bug/20190624/1280143.html