{
    use esmith::templates;
    use esmith::ConfigDB;
    my $db = esmith::ConfigDB->open_ro('proxypass') || die("Can't open proxypass db");

    my @proxypass = $db->get_all_by_prop('type' => 'VhostReverse');
    if (@proxypass) {
        $OUT .= <<'EOF';
#
# Default virtualhost for proxypass
#
<VirtualHost *:80>
    IncludeOptional conf.d/default-virtualhost.inc
</VirtualHost>

EOF
    }

    foreach my $proxy (@proxypass) {
        my %proxyData = $proxy->props();
        my @ports = (443, 80);

        foreach $port (@ports) {
            $proxyData{VhostName} = $proxy->key;
            $proxyData{WebSockets} = $proxy->prop('WebSockets') || 'disabled';
            $proxyData{WebSocketsPath} = $proxy->prop('WebSocketsPath') || '';
            $proxyData{AllowEncodedSlashes} = $proxy->prop('AllowEncodedSlashes') || 'disabled';
            $proxyData{Port} = $port;
            $proxyData{XForwarded} = $httpd{'XForwarded'} || 'disabled';
            $OUT .= esmith::templates::processTemplate({
                MORE_DATA => \%proxyData,
                TEMPLATE_PATH => 'httpd/proxy-extra',
                OUTPUT_TYPE => 'string',
            });
        }
    }
    $OUT .= '';
}
