Allows sharing config between http/https vhosts and optionally can
force https.
var WWW : [Vhost] = Skip;
var CreateWWW : bool = true;
var WWW : [Vhost] = Skip;
var CreateWWW : bool = true;
+var ForceSSL : bool = true;
var DefaultA : bool = true;
var DefaultAlias : bool = true;
var DefaultAliasSource : aliasSource = userSource defaultMailUser;
var DefaultA : bool = true;
var DefaultAlias : bool = true;
var DefaultAliasSource : aliasSource = userSource defaultMailUser;
+val webSsl = \ host -> \ certFile -> \\ config : Vhost -> begin
+ n <- DefaultWebNode;
+ webAt n host where
+ SSL = certFile;
+ with config end;
+
+ force_ssl <- ForceSSL;
+ if force_ssl then
+ webAt n host where
+ SSL = no_ssl;
+ with
+ rewriteRule "^(.*)$" "https://%{HTTP_HOST}$1" [redirect];
+ end;
+ else
+ webAt n host where
+ SSL = no_ssl;
+ with config end;
+ end;
+end;
+
val addDefaultAlias = begin
mailbox <- Mailbox;
source <- DefaultAliasSource;
val addDefaultAlias = begin
mailbox <- Mailbox;
source <- DefaultAliasSource;