2012-03-28 144 views
-1

secure.dynaccount.com(Thawte的证书) http://certlogik.com/sslchecker/secure.dynaccount.com/多个SSL证书的Apache2

api.dynaccount.com(自签名) http://certlogik.com/sslchecker/api.dynaccount.com/

的httpd.conf

# Thawte certified 
<VirtualHost 88.198.55.138:443> 
    ServerName secure.dynaccount.com 
    DocumentRoot /var/www/dynaccount.com 

    SSLEngine on 
    SSLCertificateKeyFile /var/ini/ssl/secure.dynaccount.com/private.key 
    SSLCertificateFile /var/ini/ssl/secure.dynaccount.com/public.crt 
    SSLCertificateChainFile /var/ini/ssl/secure.dynaccount.com/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> 

# self-signed 
<VirtualHost 88.198.55.154:443> 
    ServerName api.dynaccount.com 
    DocumentRoot /var/www/dynaccount.com 

    SSLEngine on 
    SSLCertificateKeyFile /var/ini/ssl/api.dynaccount.com/private.key 
    SSLCertificateFile /var/ini/ssl/api.dynaccount.com/public.crt 
    SSLVerifyDepth 0 
    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> 
+0

不是一个编程的问题文件的正确格式 - >投票移至ServerFault。 – Bruno 2012-03-28 11:19:17

回答

-1

你的问题这里是你有两次相同的ServerName。

在你的第二个虚拟主机,你应该有ServerName api.dynaccount.com并没有ServerAlias

我不知道它的问题,但给它一个尝试:)


编辑: 对于Server could not reliably resolve server name错误,你必须在httpd.conf中定义一个ServerName(不在VirtualHost中,这将是默认的服务器名称)

+0

有关服务器名称的错误仍然弹出 – clarkk 2012-03-28 09:39:16

+0

2通知?我也有,不要太担心这个。我认为这是因为你使用星号来定义VirtualHost(就像我一样),而Apache并不太喜欢它。到目前为止,他仍然了解它,所以我继续使用它,它的工作原理。 – haltabush 2012-03-28 09:52:50

+0

我发现如何修复它,看到我更新的答案 – haltabush 2012-03-28 09:55:06

2

你读过Apache HTTP文档吗?

http://httpd.apache.org/docs/2.0/vhosts/name-based.html

基于域名的虚拟主机不能因为SSL协议的性质SSL安全服务器 使用。

每个IP可以有一个SSL主机。

原因?

SSL连接参数是按每个虚拟主机设置的,但必须在httpd读取主机HTTP标头之前进行协商。

这给一个感觉,不是吗?

UPDATE:

更改SSLCACertificateFile到SSLCertificateChainFile并提供根据docs或禁用客户端证书验证在所有

+0

那么SNI呢? http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI – clarkk 2012-03-28 12:49:44

+0

你没有提到你使用SNI.Do你有SNI能力的Apache运行吗? – rkosegi 2012-03-28 13:08:49

+0

我不确定..用openssl info更新了我的问题..我不知道如何检查TLS扩展是否启用以及其他两个先决条件。 – clarkk 2012-03-28 13:21:00