我正在尝试在 EC2onrails 上配置 SSL,但没有成功。目前我什至无法在端口 443 上远程登录到我的服务器,它只是说trying MY.IP.ADDRESS...
并无限期地停留在那里。Telnet 进入 80 工作正常。
这是我的出发点。我完全按照说明进行操作,因为我有一个 go daddy 证书,所以我创建了这个自定义的 default-ssl 文件,所以我可以添加 SSLCertificateChainFile 指令:
NameVirtualHost *:443
<VirtualHost *:443>
Include /etc/apache2/sites-available/app.custom
Include /etc/apache2/sites-available/app.common
ErrorLog /mnt/log/apache2/error.log
LogLevel warn
CustomLog /mnt/log/apache2/access.log combined
# see http://httpd.apache.org/docs/2.2/ssl/ssl_intro.html and http://httpd.apache.org/docs/2.2/mod/mod_ssl.html
SSLEngine On
SSLCertificateFile /etc/ec2onrails/ssl/cert/ec2onrails-default.crt
SSLCertificateKeyFile /etc/ec2onrails/ssl/private/ec2onrails-default.key
SSLCertificateChainFile /etc/ec2onrails/ssl/cert/ec2onrails-chain.crt
RequestHeader set X_FORWARDED_PROTO 'https'
ServerName MY_SERVER_NAME
</VirtualHost>
请注意,我必须添加
ServerName MY_SERVER_NAME
否则我在 apache 启动时在 error.log 文件中看到以下警告:
[Wed May 27 19:46:20 2009] [warn] RSA server certificate CommonName (CN) ` MY_SERVER_NAME' does NOT match server name!?
我已经运行 cap ec2onrails:server:enable_ssl,apache 启动干净,通过端口 80 的常规访问有效,并且 apache 访问日志表明没有对端口 443 的请求活动。我知道 apache 正在加载我的 default-ssl 配置文件,因为如果我键入 gobbledygook在他们中,它在启动时抱怨。
有没有其他人成功让 SSL 与 EC2onRails 一起工作?我还能做些什么来调试这个问题?现在我正在使用基于 Ubuntu 版本的 ec2onRails 版本 0.9.9.1。