我有一个问题是将https添加到我的ec2实例中,也许你们可以得到答案让它工作 .
我有一个负载 balancer 器,它转发到我的EC2实例的连接,我已经将SSL证书添加到负载均衡器,一切都很顺利,我已经添加了一个侦听器到端口443,将转发到我的端口443实例,我已经在端口443和80上配置了apache,现在这里是我的负载均衡器的屏幕截图:
SSL证书是有效的,在端口80(http)上一切正常,但如果我尝试使用https,则请求无法完成 .
任何的想法?
干杯
Elastic Load Balancer无法将您的HTTPS请求转发到服务器 . 这就是SSL存在的原因:防止中间人攻击(以及其他)
您可以通过以下方式实现此目的:
配置您的ELB接受443 TCP连接并通过IAM安装SSL证书(就像您一样)
将TCP 80上的流量中继到您的Web服务器队列
配置您的Web服务器以接受TCP 80上的流量(也支持在负载均衡器和Web服务器之间使用SSL,但大多数情况下不需要)
将您的Web服务器安全组配置为仅接受来自负载均衡器的流量 .
(可选)确保您的Web服务器在私有子网中运行,即只有私有IP地址且没有到Internet网关的路由
如果您确实需要在客户端和后端服务器之间 Build 端到端SSL隧道(例如,执行客户端SSL身份验证),那么您必须在TCP模式下配置负载均衡器,而不是在HTTP中模式(有关详细信息,请参阅Support for two-way TLS/HTTPS with ELB)
更多细节 :
SSL负载均衡器:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_SettingUpLoadBalancerHTTPS.html
VPC中的负载均衡器:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/UserScenariosForVPC.html
您的EC2实例上是否有HTTPS侦听器?如果没有,则两个负载均衡器侦听器的实例端口应为80 .
2 回答
Elastic Load Balancer无法将您的HTTPS请求转发到服务器 . 这就是SSL存在的原因:防止中间人攻击(以及其他)
您可以通过以下方式实现此目的:
配置您的ELB接受443 TCP连接并通过IAM安装SSL证书(就像您一样)
将TCP 80上的流量中继到您的Web服务器队列
配置您的Web服务器以接受TCP 80上的流量(也支持在负载均衡器和Web服务器之间使用SSL,但大多数情况下不需要)
将您的Web服务器安全组配置为仅接受来自负载均衡器的流量 .
(可选)确保您的Web服务器在私有子网中运行,即只有私有IP地址且没有到Internet网关的路由
如果您确实需要在客户端和后端服务器之间 Build 端到端SSL隧道(例如,执行客户端SSL身份验证),那么您必须在TCP模式下配置负载均衡器,而不是在HTTP中模式(有关详细信息,请参阅Support for two-way TLS/HTTPS with ELB)
更多细节 :
SSL负载均衡器:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_SettingUpLoadBalancerHTTPS.html
VPC中的负载均衡器:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/UserScenariosForVPC.html
您的EC2实例上是否有HTTPS侦听器?如果没有,则两个负载均衡器侦听器的实例端口应为80 .