我设法在 cPanel/WHM 下很好地配置它,但在 Virtualmin 下配置它时遇到问题:当我在 Virtualmin 中创建一个新的虚拟服务器时,我希望它自动创建一个带有共享通配符 SSL 域的子域的 Apache。例如,如果我为 some.example.com 创建一个虚拟服务器,我需要两个VirtualHost:
<VirtualHost 1.2.3.4:80>
ServerName some.example.com
ServerAlias www.some.example.com some_example.shared-ssl-domain.com
...
</VirtualHost>
<VirtualHost 1.2.3.4:443>
ServerName some_example.shared-ssl-domain.com
...
SSLEngine on
SSLCertificateFile /path/to/shared-ssl-domain.com.crt
SSLCertificateKeyFile //path/to/shared-ssl-domain.com.key
SSLCACertificateFile /path/to/shared-ssl-domain.com.cabundle
</VirtualHost>
在 cPanel/WHM 中,我能够轻松做到这一点,因为模板文件包含<VirtualHost>
and</VirtualHost>
指令。但是 Virtualmin 的模板现在可以了。有什么办法可以设置 Virtualmin 来做我想做的事吗?
我最终创建了一个 Ruby 脚本,我将其配置为在对虚拟服务器进行任何更改后作为处理程序运行。脚本的内容可作为这个问题的答案,但它的基本作用是定位给定域的 VirtualHost 文件,找到
<VirtualHost>
标签内的所有指令,并将它们复制到<Virtualhost>
配置为使用通配符证书的新标签.