我试图在apache2上使用SSL和Digicert的证书。 我能够在单个服务器(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 Service Unavailable错误。当然,我在Load Balancer Listeners(443)中上传了证书,并使用Route53将ELB连接到我的域。我有什么遗失的吗?
答案 0 :(得分:1)
简单方法
如果您在那里安装了证书,则可以在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>