Apache不同域名部署不同SSL证书,您需要满足以下条件:
(1)apache 2.2.12以上版本
(2)openssl 0.9.8f以上版本
listen 443
ServerName 这里填写域名
DocumentRoot /var/www/site
SSLEngine on
SSLProtocol all -SSLv2 -SSLV3
SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!aNULL:!eNULL
SSLCertificateFile /path/to/2_domain1.com.crt
SSLCertificateKeyFile /path/to/3_doamin1.com.key
SSLCertificateChainFile /path/to/1_root_bundle.crt
ServerName 这里填写域名
DocumentRoot /var/www/site2
SSLEngine on
SSLProtocol all -SSLv2 -SSLV3
SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!aNULL:!eNULL
SSLCertificateFile /path/to/2_domain2.com.crt
SSLCertificateKeyFile /path/to/3_doamin2.com.key
SSLCertificateChainFile /path/to/1_root_bundle.crt
最后重启Apache服务器。
服务器不支持的需要使用多域名或者通配符SSL证书。
要在Apache服务器上配置多个域名和多个目录的SSL证书,您可以按照以下步骤进行操作:
安装SSL证书:首先,确保您已经获得了适用于每个域名的SSL证书,并将其存储在服务器上的适当位置。通常,证书文件包括公钥文件(.crt)和私钥文件(.key)。
启用SSL模块:在Apache服务器上启用SSL模块,以便支持HTTPS连接。您可以通过编辑Apache配置文件(通常是apache2.conf或httpd.conf)来启用SSL模块。找到类似于以下行的内容,并确保其没有被注释(以#开头):
Copy
LoadModule ssl_module modules/mod_ssl.so```创建虚拟主机配置:对于每个域名和目录组合,您需要创建一个虚拟主机配置来指定SSL证书和相关设置。在Apache配置文件中,找到"VirtualHost"部分,并为每个域名添加一个虚拟主机配置块。示例如下:
apache
Copy
保存配置文件并重启Apache:完成虚拟主机配置后,保存配置文件并重启Apache服务器,以使更改生效。您可以使用以下命令重启Apache:
Copy
sudo service apache2 restart```现在,您已经成功配置了多个域名和多个目录的SSL证书。当用户访问每个域名时,Apache将自动使用相应的SSL证书进行加密通信,并根据虚拟主机配置将请求转发到相应的目录。
下面是apache 的文档: 必须指定服务器IP地址(和可能的端口)来使主机接受请求,这个可以用NameVirtualHost指令来进行配置。如果服务器上所有的IP地址都会用到,你可以用"*"作为NameVirtualHost的参数。如果你打算使用多端口(如运行SSL)你必须在参数中指定一个端口号,比如"*:80"。请注意,在NameVirtualHost指令中指定IP地址并不会使服务器自动侦听那个IP地址。请参阅设置Apache使用的地址和端口一章获取更多详情。另外,这里设定的IP地址必须对应服务器上的一个网络接口。 下一步就是为每个虚拟主机建立