【问题标题】:aws api gateway client-side ssl certificate verification with nginx使用 nginx 进行 aws api 网关客户端 ssl 证书验证
【发布时间】:2015-10-28 13:29:42
【问题描述】:

与其他问题here 类似,我正在尝试使用已通过 AWS API 网关发送的 nginx 验证 SSL 客户端证书。

我注意到在documentation 中,AWS API Gateway 仅将客户端证书与 HTTP 请求一起发送。这是否意味着不应该配置HTTPS?

与我上面发布的问题的链接相反,托管 nginx 的域没有设置 https 证书。

任何帮助,或使用 ssl_verify_client 的工作配置的链接,而无需为域配置 ssl,将不胜感激。

这是我目前正在使用的 nginx 配置:

daemon off;

events {
  worker_connections  4096;
}

http {
  server {
    listen 2345 default_server;

    ssl_trusted_certificate /certs/api-gateway.crt;
    ssl_client_certificate /certs/api-gateway.crt;
    ssl_verify_client on;

    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
    ssl_prefer_server_ciphers on;

    location /ping {
      proxy_pass http://my.http.public.endpoint.com;
    }

    location / {
      if ($ssl_client_verify != SUCCESS) { return 403; }
      proxy_pass http://my.http.public.endpoint.com;
      proxy_set_header X-Client-Verify $ssl_client_verify;
    }
  }
}

【问题讨论】:

    标签: ssl amazon-web-services nginx aws-api-gateway


    【解决方案1】:

    您误解了文档,尽管原因很容易理解。

    API Gateway 将对您 API 中的所有 HTTP 集成调用使用该证书。

    要解析的短语是“HTTP 集成”——与 Lambda 或 AWS 服务代理相反——而不是“没有 SSL 的 HTTP”中的“HTTP”。他们在一般意义上使用“HTTP”来描述一种类型,而不是传输的具体细节。

    SSL 客户端证书在没有 HTTPS 的情况下无法使用,并且如果没有在服务器上配置的 SSL 证书也将无法使用。

    【讨论】:

    • 当然,感谢您指出这一点。我现在已经设法让它工作了。
    • 我有类似的设置,但我们使用的是没有任何证书的 cloudflare Universal SSL。在这种情况下会起作用吗?
    • 如果你没有证书,那么你就没有 SSL @rtexal 所以不清楚你在问什么。
    • 啊,所以,您在前端有 SSL,但在后端没有。您的站点有证书,但您的应用服务器本身没有。 Cloudflare 似乎不太可能真正请求客户端证书,或为您提供一种对其进行身份验证的机制,或将有关该证书的信息传递给您(它必须由他们注入到请求标头中,您才能使用其中)。这个问题是关于使用客户端证书对来自 API Gateway 的传递请求进行身份验证的,这似乎不是您可以在设置中执行的操作。
    • @michael-sqlbot stackoverflow.com/questions/34175361/… (感谢 - 期待解决这个问题)。我正在使用资源的测试按钮,我可以在发出请求时指定客户端证书。所以我相信客户端证书是随请求一起发送的,只是我的服务器端配置不正确。
    猜你喜欢
    • 2018-02-15
    • 2014-04-04
    • 2021-02-11
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2012-01-10
    相关资源
    最近更新 更多