tbrehm
2012-11-28 aaa919843116ab3d2443f8def417f5013fb4fba7
Fixed: FS#2520 - nginx_reverseproxy_vhost.conf.master missing in 3.0.4.6
1 files added
125 ■■■■■ changed files
server/conf/nginx_reverse_proxy_plugin.vhost.conf.master 125 ●●●●● patch | view | raw | blame | history
server/conf/nginx_reverse_proxy_plugin.vhost.conf.master
New file
@@ -0,0 +1,125 @@
<tmpl_loop name="vhosts">
server {
    ######################################################################
    ## Server configuration
    ######################################################################
    # Tell nginx to listen on port <tmpl_var name='port'> (default http(s) port, IPv4)
    listen <tmpl_var name='ip_address'>:<tmpl_var name='port'>;
    <tmpl_if name='ipv6_enabled'>
    # Tell nginx to listen on port <tmpl_var name='port'> (default http(s) port, IPv6)
    listen [<tmpl_var name='ipv6_address'>]:<tmpl_var name='port'> ipv6only=on;
    </tmpl_if>
    server_name <tmpl_var name='domain'> <tmpl_if name='alias'><tmpl_var name='alias'></tmpl_if> <tmpl_if name='ip_address' op='!=' value='*'><tmpl_var name='ip_address'></tmpl_if>;
    ######################################################################
    ## Log configuration
    ######################################################################
    access_log /var/log/ispconfig/httpd/<tmpl_var name='domain'>/access.log combined;
    error_log /var/log/ispconfig/httpd/<tmpl_var name='domain'>/error.log;
    <tmpl_if name='ssl_enabled'>
    ######################################################################
    ## SSL configuration
    ######################################################################
    ssl on;
    ssl_certificate <tmpl_var name='web_document_root_ssl'>/<tmpl_var name='ssl_domain'>.nginx.crt;
    ssl_certificate_key <tmpl_var name='web_document_root_ssl'>/<tmpl_var name='ssl_domain'>.nginx.key;
    </tmpl_if>
    ######################################################################
    ## Redirects configuration
    ######################################################################
    <tmpl_if name='seo_redirect_enabled'>
    # SEO Redirect
    if ($http_host = "<tmpl_var name='seo_redirect_origin_domain'>") {
        rewrite ^ $scheme://<tmpl_var name='seo_redirect_target_domain'>$request_uri permanent;
    }
    </tmpl_if>
    <tmpl_if name='rewrite_enabled'>
        <tmpl_loop name="redirects">
        # Redirects
        #if ($http_host ~* "<tmpl_var name='rewrite_domain'>$") {
        #    rewrite ^/(.+)$ <tmpl_var name='rewrite_target'>$1 <tmpl_var name='rewrite_type'>;
        #}
        </tmpl_loop>
    </tmpl_if>
    ######################################################################
    ## Error configuration
    ######################################################################
    error_page 400 /error/400.html;
    error_page 401 /error/401.html;
    error_page 403 /error/403.html;
    error_page 404 /error/404.html;
    error_page 405 /error/405.html;
    error_page 500 /error/500.html;
    error_page 502 /error/502.html;
    error_page 503 /error/503.html;
    ######################################################################
    ## Locations configuration
    ######################################################################
    location / {
        # disable access log (we already have it for nginx)
        access_log off;
        # set the document root
        root <tmpl_var name='web_document_root_www'>;
        # cache apache2's answers in the cache
        proxy_cache nginx_cache;
        # pass all requests to apache2
        <tmpl_if name='seo_redirect_enabled'>
            proxy_pass http://<tmpl_if name='ip_address' op='!=' value='*'><tmpl_var name='ip_address'><tmpl_else><tmpl_var name='seo_redirect_target_domain'></tmpl_if>:<tmpl_var name='apache2_port'>;
        <tmpl_else>
            proxy_pass http://<tmpl_if name='ip_address' op='!=' value='*'><tmpl_var name='ip_address'><tmpl_else><tmpl_var name='domain'></tmpl_if>:<tmpl_var name='apache2_port'>;
        </tmpl_if>
    }
    location ~ /\. {
        # Don't allow any access
        deny all;
        # Don't log access
        access_log off;
    }
    ######################################################################
    ## Directives configuration
    ######################################################################
    <tmpl_loop name="nginx_directives">
        <tmpl_var name='nginx_directive'>
    </tmpl_loop>
    ######################################################################
    ## CP configuration
    ######################################################################
    # If domain.tld/ispconfig is requested, redirect to the secure ISPConfig URL
    location = /ispconfig { rewrite ^ <tmpl_var name='cp_base_url'>/ permanent; }
    # If domain.tld/phpmyadmin is requested, redirect to the secure phpMyAdmin URL
    location = /phpmyadmin { rewrite ^ <tmpl_var name='cp_base_url'>/phpmyadmin/ permanent;    }
    # If domain.tld/webmail is requested, redirect to the secure RoundCube Webmail URL
    location = /webmail {    rewrite ^ <tmpl_var name='cp_base_url'>/webmail/ permanent;    }
}
</tmpl_loop>