小编Gon*_*cia的帖子

与Elastic Beanstalk的Api网关连接(客户端SSL证书)

我正在尝试将Api Gateway与我的api连接在Elastic Beanstalk中.我希望我的api只能通过Api Gateway访问,为此我在后端使用客户端SSL证书授权(如此aws发布链接:http://docs.aws.amazon.com/es_es/apigateway/latest/developerguide/getting -started-client-side-ssl-authentication.html).所以我的建筑是这样的:

API GATEWAY->弹性负载平衡器 - > EC2(弹性BEANSTALK)

我的EC2机器有NGINX和Ruby.

连接的工作方式如下:

API GATEWAY - >(80 PORT) - >弹性负载平衡器 - >(443 PORT) - > NGINX - > RUBY

我在NGINX中做客户端身份验证.当我使用浏览器访问Elastic Load Balancer时,它显示400 Bad Request - NGINX错误:没有发送所需的SSL证书(这是正确的,因为我没有发送证书).但是,当我使用Api网关访问并发送客户端证书时,我得到了同样的错误(我不明白为什么).

当我在NGINX中配置SSL连接时,我使用的是我签名的SSL证书(可能这是问题吗?)

我的问题的其他可能原因是Elastic Load Balancer中的端口配置(在图片中).我有后端身份验证:已禁用.这是一个问题吗? Pictura Port Config ELB

我的nginx配置是:

upstream my_app {
  server unix:///var/run/puma/my_app.sock;
}

log_format healthd '$msec"$uri"'
                '$status"$request_time"$upstream_response_time"'
                '$http_x_forwarded_for';

server {
listen       443 ssl;
listen       [::]:443 ssl;
server_name  localhost;
root         /usr/share/nginx/html;

ssl on;
ssl_certificate /etc/nginx/ssl/dev.crt;
ssl_certificate_key /etc/nginx/ssl/dev.key;
ssl_trusted_certificate /etc/nginx/ssl/api-gateway.pem;
ssl_client_certificate …
Run Code Online (Sandbox Code Playgroud)

ssl nginx amazon-web-services amazon-elastic-beanstalk aws-api-gateway

6
推荐指数
1
解决办法
982
查看次数