使用 SSL 的 AWS ELB 显示请求超时

AWS ELB using SSL shows request time out

我正尝试在带有 Digicert 证书的 apache2 上使用 SSL。 我可以在单个服务器(EC2 实例)上上传我的证书,在可用站点中编辑我的 conf 文件。但是当我尝试使用 ELB 连接 SSL 时,它只显示 408 请求超时。

这是我的配置文件。

NameVirtualHost *:80

<VirtualHost *:80>
    Alias /media/ blahblah
    <Directory blahblah >
            Order deny,allow
            Allow from all
    </Directory>
    <Directory blahblah >
            Order deny,allow
            Allow from all
    </Directory>

    DocumentRoot blahblah
    WSGIScriptAlias / blahblah

    <Location "/css">
        SetHandler None
    </Location>

</VirtualHost>

如果我在下面添加 VirtualHost *:443 并将 80 重定向到 443,SSL 在单个服务器中工作。但是如果我使用 ELB,这会导致 503 Service Unavailable 错误。当然,我在 Load Balancer Listeners(443) 中上传了证书,并使用 Route53 将 ELB 连接到我的域。有什么我遗漏的吗?

简单的方法

如果您在 ELB 上安装了证书,则可以终止 SSL。 然后从您内部服务器上的 ELB 侦听器 443->80。
一旦成功,我将调整 Web 服务器上的安全策略以仅接受来自负载均衡器的端口 80

否则您需要在 ELB 和您的服务器上安装相同的证书。 ELB 监听器 443->443 。确保在 Apache 的 :443 虚拟主机中配置了证书。

<VirtualHost 192.168.1.1:443>
        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

        SSLCertificateFile      /etc/ssl/star.example.com.crt
        SSLCertificateKeyFile   /etc/ssl/star.example.com.key

        ServerName      "one.example.com"
        DocumentRoot    "/var/www/html/one"

        CustomLog       "/var/log/httpd/one-access.log" combined
        ErrorLog        "/var/log/httpd/one-error.log"

        <Directory /var/www/html>
                AllowOverride none

                Order Allow,Deny
                Allow from all
        </Directory> </VirtualHost>