ssl curl 不起作用

ssl curl 不起作用

我设置了我的网站,我已设置 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 报告了解详细信息。

相关内容