尝试使用 SSL 设置子域时出现错误。
我认为这是因为虚拟主机中的服务器名称输入不正确(“ø”)?
刚刚从网站托管解决方案迁移到专用服务器。在迁移到新服务器之前,SSL 在子域上工作正常,但我不知道虚拟主机是如何在网站托管服务器上设置的!?可能不是这样。。?(如果虚拟主机是问题所在?)
领域
secure.online-økonomi.dk
虚拟主机
<VirtualHost _default_:443>
ServerName secure.xn--online-konomi-hnb.dk
DocumentRoot /var/www/online-okonomi.dk
SSLEngine on
SSLCertificateFile /var/ini/ssl/secure.xn--online-konomi-hnb.dk/public.crt
SSLCertificateKeyFile /var/ini/ssl/secure.xn--online-konomi-hnb.dk/private.key
SSLCACertificateFile /var/ini/ssl/secure.xn--online-konomi-hnb.dk/intermediate.crt
SSLVerifyDepth 1
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
</VirtualHost>
错误
[Fri May 27 09:46:38 2011] [warn] RSA server certificate CommonName (CN) `secure.online-\xc3\xb8konomi.dk' does NOT match server name!?
[Fri May 27 09:46:38 2011] [error] Unable to configure RSA server private key
[Fri May 27 09:46:38 2011] [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
答案1
关于主机名不匹配的警告可能不是实际问题 - Apache 应该警告不匹配的名称(即使没有字符集转换问题,也肯定存在),但这不应该导致启动 SSL vhost 完全失败。
令人担忧的是公钥/私钥不匹配的错误。检查证书文件的有效性,并确保它们匹配:
openssl x509 -noout -text -in /var/ini/ssl/secure.xn--online-konomi-hnb.dk/public.crt
openssl rsa -noout -text -in /var/ini/ssl/secure.xn--online-konomi-hnb.dk/private.key
答案2
这是 DNS 领域中一个众所周知的问题,即解析丹麦字母 'æ' 'ø' 'å' 非常困难。在我看来,它似乎无法解析包含 'ø' 的 CN。我建议您获取一个新域名,将丹麦字母替换为相应的英文字母;'ae' = æ 'oe' = ø 'aa' = å
其他任何事情都只会一遍又一遍地给你带来很多麻烦。
不过 ,我还有一个建议,虽然不知道该怎么做。试着看看你是否可以稍微改变一下记录……
[Fri May 27 09:46:38 2011] [warn] RSA server certificate CommonName (CN) secure.online-\xc3\xb8konomi.dk' "
或者
[Fri May 27 09:46:38 2011] [warn] RSA server certificate CommonName (CN) secure.online-\xc3\konomi.dk'
[Fri May 27 09:46:38 2011] [warn] RSA server certificate CommonName (CN) secure.online-\xc3\okonomi.dk'