我正在将AWS Lightsail Load Balancer与另一个Lightsail ec2实例结合使用,以便我可以使用Lightsail Load Balancer中内置的免费证书管理器。这似乎会自动将我的Load Balancer中的所有流量转发到port 80
上的ec2 nginx服务器,以便以下配置也支持https
个连接:
server {
listen 80;
server_name mountainviewwebtech.ca www.mountainviewwebtech.ca;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
但是,当我添加以下行以确保http
重定向到https
时,我收到错误ERR_TOO_MANY_REDIRECTS
,因为我的ec2-instance仅接收{{1}上的流量即使使用安全连接,它也只是一遍又一遍地重定向。
port 80
在转发到我的ec2实例之前,有没有获得原始if ($scheme != https) {
return 301 https://$host$request_uri;
}
?
答案 0 :(得分:0)
如果您想要“免费” SSL证书,则使用Let's Encrypt的CertBot将带您到那里(并节省金钱)。使用该选项我取得了很好的成功。
使用负载均衡器作为SSL终结器会终止负载均衡器上的安全连接。因此,未加密的流量从平衡器发送到计算实例(端口80)。如果要将SSL通信转发到计算实例,请查看负载均衡器是否将进行端口转发。我怀疑这是光帆。