我设置了我的网站,我已设置 SSL 并可以正常工作,在 chrome 中运行良好,在 postman 中运行良好。无论出于什么原因,当 twilio 或 curl 尝试访问它时,它都不起作用。它给了我一个无法获取本地发行者的错误。
我尝试使用的网址是https://anova.me/call/voice?phoneNumber=这是一个后端点
我已经在 unicorn 和 nginx 上运行了一个 rails 4 webapp。我从 comodo 获得了 ssl 证书
你可以试试https://anova.me/并看到它起作用了。我的 nginx 如下所示:
upstream app_server {
server unix:/var/run/unicorn.sock fail_timeout=0;
}
server {
listen 80;
root /home/rails/companiontv/public;
server_name anova.me;
index index.htm index.html;
listen 443 ssl;
ssl on;
ssl_certificate /home/rails/anova_me.crt;
ssl_certificate_key /home/rails/anova.key;
location / {
try_files $uri/index.html $uri.html $uri @app;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ {
try_files $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_pass http://app_server;
}
答案1
您的网站没有提供必要的链证书。这可以从SSLLabs 报告:
This server's certificate chain is incomplete. Grade capped to B. ... Extra download ... COMODO RSA Domain Validation Secure Server CA
桌面版 Chrome 尝试积极解决此问题,但其他客户端(如 curl 或大多数移动浏览器)无法解决此类不完善的设置。
要修复此问题,您需要将缺失的证书(即额外下载)添加到用于设置的文件中ssl_certificate
。许多 CA 颁发机构实际上提供了有关如何在不同服务器上使用其证书的文档,因此您可能还应该有一个看这里。
除此之外,网站的 SSL 设置还存在其他严重问题,请参阅SSLLabs 报告了解详细信息。