我正试图在具有Digicert证书的apache2上使用SSL。我可以在一台服务器(EC2实例)上上传我的证书,在可用的站点中编辑我的conf文件。但当我尝试使用ELB连接SSL时,它只显示408请求超时。
这是我的conf文件。
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服务不可用错误。当然,我在负载均衡器监听器(443)中上传了证书,并使用Route53将ELB连接到我的域。我缺少什么吗?
的简单方法
如果在ELB上安装了证书,则可以终止SSL。然后从内部服务器上的ELB侦听器443->80
一旦成功,我会调整web服务器上的安全策略,只接受来自负载均衡器的端口80
否则您需要在ELB和服务器上安装相同的证书。ELB listner 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>