好的,这是我找到的解决方案。这将根据您所使用的服务器类型以及您在托管帐户中可以做多少事情(或者您的托管提供商愿意为您做多少事情)而有所不同。
我在跑步Apache 在一个WHM / cPanel 具有专用IP地址和根访问权限的托管环境。这里的基本思想应该适用于其他环境,但与往常一样,YMMV。。。
SNI 必须在Apache下就位并运行。
每个域都需要由SSL证书覆盖-基本网络的通配符证书将只覆盖子域,而不覆盖映射域。
我在cPanel中的基本WP网络域的帐户中添加了客户端的域名作为“附加域”。请注意,这需要启用设置"Allow Creation of Parked/Addon Domains that are not registered"
WHM内。否则,cPanel将投诉:该域已指向一个似乎未使用与此服务器关联的DNS服务器的IP地址。
我还确保在WHM中为拥有WP基本网络域的帐户启用了AutoSL。这会导致AutoSL触发为任何附加域安装SSL证书。AutoSL似乎是基于LetsEncrypt的,所以如果您不能使用cPanel AutoSL,那么您可能只需要使用LetsEncrypt即可。
我已经为基本网络域购买了SSL通配符证书,但好在AutoSL尊重该证书,不会尝试替换它。
最后,我确保WP admin(网络->站点->编辑站点)中的映射域具有以开头的siteURL设置https:// -- 当然,还要确保所有内容都是通过https提供的,这样浏览器中就不会出现混合内容警告。在我的情况下,我不得不访问phpMyAdmin并直接更新站点的选项表。我必须调查为什么我在那里更改时,管理页面没有“粘住”。
因此,现在我的客户的站点被自动更新的免费SSL覆盖,并在浏览器中以绿色挂锁出现在所有页面上。