如何将Elastic Beanstalk的访问权限仅限于API网关?
我发现了类似的问题here,建议在API网关上创建证书。
我的后端解决方案就像在图像上一样:
我已在API网关(AWS doc)中创建了证书。
1。哪个元素应使用API网关生成的PEM编码证书对API进行身份验证?
2。是否可以在Elastic Load Balancer(ELB)上执行此操作,还是应该在运行nginx的App实例上执行此操作?
答案 0 :(得分:0)
由于ELB不支持两种SSL身份验证,因此您应该在nginx服务器上验证证书。
您可以像这样配置nginx服务器以接受来自API网关的客户端证书。
server {
listen 443;
ssl on;
server_name example.com;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
ssl_client_certificate /etc/nginx/certs/ca.crt;
ssl_verify_client optional;
location / {
root /var/www/example.com/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/example.com/lib/Request.class.php;
fastcgi_param VERIFIED $ssl_client_verify;
fastcgi_param DN $ssl_client_s_dn;
include fastcgi_params;
}
}
然后,使用API网关控制台上的“测试调用”功能测试此设置是否适合您。