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