mod_ssl's server_rec configurations (SSLSrvConfigRec) are shared between vhost and base server *iff* there are no SSL* directives used inside a VirtualHost. This is not really a good idea since mod_ssl modifies these recs in its post_config hook. This looks currently harmless, e.g. setting sc->vhost_id n times (but the vhost_id is wrong for all but the last). With adding certificate/keys in post-config (mod_md) this sharing can no longer happen.
To be precise: this is a side effect of a global "SSLEngine" config. The old-skool "SSLEngine on" in each vhost will cause every server_rec to have its own SSLSrvConfigRec instance and things work. Now, I would like both cases to work. Does anyone have a recommendation? My current thoughts go like (pseudo code): if (server != base_server && sslconf(server) == sslconf(base_server)) { newconf = conf_merge(new_server_conf(), sslconf(base_server)); ap_set_module_config(server, newconf); } Is there some better way? Cheers, Stefan