可以仅在AWS Lightsail上强制使用https吗?

时间:2018-05-14 06:58:15

标签: amazon-web-services nginx amazon-lightsail

我正在将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; }

1 个答案:

答案 0 :(得分:0)

如果您想要“免费” SSL证书,则使用Let's Encrypt的CertBot将带您到那里(并节省金钱)。使用该选项我取得了很好的成功。

使用负载均衡器作为SSL终结器会终止负载均衡器上的安全连接。因此,未加密的流量从平衡器发送到计算实例(端口80)。如果要将SSL通信转发到计算实例,请查看负载均衡器是否将进行端口转发。我怀疑这是光帆。