我正在一台服务器上使用一个IP地址托pipe多个网站。 我有一个域名的单一证书。 有没有办法configurationApache,以便证书只适用于单个域而不是单个IP地址上的其他域? 现在设置工作,但同样的证书是用于所有,这显然不是我想要的。 我不想为这些其他域设置SSL,只需要禁用除一个域之外的所有SSLfunction。
一个例子会非常有帮助!
谢谢!
由于SSL通常工作的方式,你想要的是不可行的。 当你了解https如何工作时,很容易理解为什么。 当一个浏览器build立一个HTTP连接时,会发生什么是首先创build一个TCP连接,然后通过该TCP连接开始谈论HTTP协议。 HTTP协议为客户端提供了一种方法:“我打算从名为”www.example.com“的服务器上获取页面,”这个服务器名称是Apache用来决定使用哪个VirtualHost的。
使用HTTPS,会发生什么是TCP连接,然后协商SSL(服务器将证书发送到客户端,客户端validation证书是合法的,它们交换会话密钥),然后通过SSLencryption通话TCP连接,只有这样客户才能说出他们打算与哪个服务器名称通话。
所以这里的问题是他们已经在服务器知道他们正在尝试与哪个服务器通信之前已经协商了SSL连接。
服务器名称标识旨在扩展SSL / TLS,以便让客户端指定一个服务器名称作为SSL协商的一部分,但在浏览器中还不被广泛支持。