如何将 Elastic Beanstalk 的访问限制为仅对 API 网关进行访问?
我发现了类似的问题 here ,建议在 API 网关上创建证书。
我的后端解决方案如图所示:
我已经在 API 网关 ( AWS doc ) 中创建了证书。
<强>1。哪个元素应使用 API 网关生成的 PEM 编码证书对 API 进行身份验证?
<强>2。是否可以在 Elastic Load Balancer (ELB) 上执行此操作,或者我应该在运行 nginx 的 App 实例上执行此操作?
最佳答案
由于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 Gateway 控制台上的测试调用功能来测试此设置是否适合您。
关于amazon-web-services - AWS Elastic Beanstalk 仅对 API 网关开放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41552614/