163 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			HTML
		
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			HTML
		
	
	
<span ng-if="data.https"># certbot certonly --non-interactive --text --email {{ data.email }} --agree-tos --force-renew --webroot --webroot-path /var/www/_letsencrypt --domain {{ data.domain }} --domain www.{{ data.domain }}{{ data.cdn ? ' --domain cdn.' + data.domain : '' }}
 | 
						|
server {
 | 
						|
	listen 443 ssl{{ data.http2 ? ' http2' : '' }};
 | 
						|
	listen [::]:443 ssl{{ data.http2 ? ' http2' : '' }};
 | 
						|
 | 
						|
	server_name {{ !data.non_www ? 'www.' : '' }}{{ data.domain }};<span ng-if="data.php !== 'off'">
 | 
						|
	set $base /var/www/{{ data.domain }};
 | 
						|
	root $base{{ data.document_root }};</span><span ng-if="data.php === 'off'">
 | 
						|
	root /var/www/{{ data.domain }}{{ data.document_root }};</span>
 | 
						|
 | 
						|
	ssl_certificate /etc/letsencrypt/live/{{ data.domain }}/fullchain.pem;
 | 
						|
	ssl_certificate_key /etc/letsencrypt/live/{{ data.domain }}/privkey.pem;
 | 
						|
	ssl_trusted_certificate /etc/letsencrypt/live/{{ data.domain }}/fullchain.pem;<span ng-if="(data.php !== 'off' && data.index_php) || data.index_html">
 | 
						|
 | 
						|
	# $url{{ data.index_html ? ', index.html' : '' }}{{ data.php !== 'off' && data.index_php ? ', index.php' : '' }}
 | 
						|
	location / {
 | 
						|
		try_files $uri $uri/ {{ data.index_html ? '/index.html' : '' }}{{ data.index_html && data.php !== 'off' && data.index_php ? ' ' : '' }}{{ data.php !== 'off' && data.index_php ? '/index.php?$query_string' : '' }};
 | 
						|
	}</span>
 | 
						|
 | 
						|
	include _ssl.conf;<span ng-if="data.file_structure === 'separated'">
 | 
						|
	include _letsencrypt.conf;
 | 
						|
	include _general.conf;<span ng-if="data.php !== 'off' && data.wordpress">
 | 
						|
	include _wordpress.conf;</span><span ng-if="data.php !== 'off'">
 | 
						|
	include _php.conf;</span></span><span ng-if="data.file_structure === 'unified'">
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_letsencrypt.conf.html'" onload="refreshHighlighting()"></ng-include>
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_general.conf.html'" onload="refreshHighlighting()"></ng-include><span ng-if="data.php !== 'off' && data.wordpress">
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_wordpress.conf.html'" onload="refreshHighlighting()"></ng-include></span><span ng-if="data.php !== 'off'">
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_php.conf.html'" onload="refreshHighlighting()"></ng-include></span></span>
 | 
						|
}<span ng-if="data.cdn">
 | 
						|
 | 
						|
# CDN
 | 
						|
server {
 | 
						|
	listen 443 ssl{{ data.http2 ? ' http2' : '' }};
 | 
						|
	listen [::]:443 ssl{{ data.http2 ? ' http2' : '' }};
 | 
						|
 | 
						|
	server_name cdn.{{ data.domain }};
 | 
						|
	root /var/www/{{ data.domain }}{{ data.document_root }};<span ng-if="data.access_log !== ''">
 | 
						|
 | 
						|
	access_log off;</span>
 | 
						|
 | 
						|
	ssl_certificate /etc/letsencrypt/live/{{ data.domain }}/fullchain.pem;
 | 
						|
	ssl_certificate_key /etc/letsencrypt/live/{{ data.domain }}/privkey.pem;
 | 
						|
	ssl_trusted_certificate /etc/letsencrypt/live/{{ data.domain }}/fullchain.pem;<span ng-if="data.gzip">
 | 
						|
 | 
						|
	# gzip
 | 
						|
	gzip on;
 | 
						|
	gzip_vary on;
 | 
						|
	gzip_proxied any;
 | 
						|
	gzip_comp_level 6;
 | 
						|
	gzip_types {{ gzipTypes }};</span>
 | 
						|
 | 
						|
	include _ssl.conf;<span ng-if="data.file_structure === 'separated'">
 | 
						|
	include _letsencrypt.conf;</span><span ng-if="data.file_structure === 'unified'">
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_letsencrypt.conf.html'" onload="refreshHighlighting()"></ng-include></span>
 | 
						|
 | 
						|
	location ~* \.(?:{{ extensions.assets }}|{{ extensions.fonts }}|{{ extensions.svg }}|{{ extensions.images }}|{{ extensions.audio }}|{{ extensions.video }}|{{ extensions.docs }})$ {
 | 
						|
		add_header Access-Control-Allow-Origin "*";
 | 
						|
		add_header Cache-Control "public";
 | 
						|
		expires 30d;
 | 
						|
	}
 | 
						|
 | 
						|
	location / {
 | 
						|
		deny all;
 | 
						|
	}
 | 
						|
}</span>
 | 
						|
 | 
						|
# HTTPS {{ !data.non_www ? 'domain, ' : '' }}subdomains redirect
 | 
						|
server {
 | 
						|
	listen 443 ssl{{ data.http2 ? ' http2' : '' }};
 | 
						|
	listen [::]:443 ssl{{ data.http2 ? ' http2' : '' }};
 | 
						|
 | 
						|
	server_name {{ !data.non_www ? data.domain + ' ' : '' }}*.{{ data.domain }};
 | 
						|
 | 
						|
	ssl_certificate /etc/letsencrypt/live/{{ data.domain }}/fullchain.pem;
 | 
						|
	ssl_certificate_key /etc/letsencrypt/live/{{ data.domain }}/privkey.pem;
 | 
						|
	ssl_trusted_certificate /etc/letsencrypt/live/{{ data.domain }}/fullchain.pem;
 | 
						|
 | 
						|
	include _ssl.conf;<span ng-if="data.file_structure === 'separated'">
 | 
						|
	include _letsencrypt.conf;</span><span ng-if="data.file_structure === 'unified'">
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_letsencrypt.conf.html'" onload="refreshHighlighting()"></ng-include></span>
 | 
						|
 | 
						|
	return 301 https://{{ !data.non_www ? 'www.' : '' }}{{ data.domain }}$request_uri;
 | 
						|
}
 | 
						|
 | 
						|
# HTTP redirect
 | 
						|
server {
 | 
						|
	listen 80;
 | 
						|
	listen [::]:80;
 | 
						|
 | 
						|
	server_name {{ data.domain }} *.{{ data.domain }};
 | 
						|
<span ng-if="data.file_structure === 'separated'">
 | 
						|
	include _letsencrypt.conf;</span><span ng-if="data.file_structure === 'unified'">
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_letsencrypt.conf.html'" onload="refreshHighlighting()"></ng-include></span>
 | 
						|
 | 
						|
	return 301 https://{{ !data.non_www ? 'www.' : '' }}{{ data.domain }}$request_uri;
 | 
						|
}</span><span ng-if="!data.https">server {
 | 
						|
	listen 80;
 | 
						|
	listen [::]:80;
 | 
						|
 | 
						|
	server_name {{ !data.non_www ? 'www.' : '' }}{{ data.domain }};<span ng-if="data.php !== 'off'">
 | 
						|
	set $base /var/www/{{ data.domain }};
 | 
						|
	root $base{{ data.document_root }};</span><span ng-if="data.php === 'off'">
 | 
						|
	root /var/www/{{ data.domain }}{{ data.document_root }};</span><span ng-if="(data.php !== 'off' && data.index_php) || data.index_html">
 | 
						|
 | 
						|
	# $url{{ data.index_html ? ', index.html' : '' }}{{ data.php !== 'off' && data.index_php ? ', index.php' : '' }}
 | 
						|
	location / {
 | 
						|
		try_files $uri $uri/ {{ data.index_html ? '/index.html' : '' }}{{ data.index_html && data.php !== 'off' && data.index_php ? ' ' : '' }}{{ data.php !== 'off' && data.index_php ? '/index.php?$query_string' : '' }};
 | 
						|
	}</span>
 | 
						|
<span ng-if="data.file_structure === 'separated'">
 | 
						|
	include _general.conf;<span ng-if="data.php !== 'off' && data.wordpress">
 | 
						|
	include _wordpress.conf;</span><span ng-if="data.php !== 'off'">
 | 
						|
	include _php.conf;</span></span><span ng-if="data.file_structure === 'unified'">
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_general.conf.html'" onload="refreshHighlighting()"></ng-include><span ng-if="data.php !== 'off' && data.wordpress">
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_wordpress.conf.html'" onload="refreshHighlighting()"></ng-include></span><span ng-if="data.php !== 'off'">
 | 
						|
 | 
						|
<ng-include ng-include-tabs="2" src="'templates/_php.conf.html'" onload="refreshHighlighting()"></ng-include></span></span>
 | 
						|
}<span ng-if="data.cdn">
 | 
						|
 | 
						|
# CDN
 | 
						|
server {
 | 
						|
	listen 80;
 | 
						|
	listen [::]:80;
 | 
						|
 | 
						|
	server_name cdn.{{ data.domain }};
 | 
						|
	root /var/www/{{ data.domain }}{{ data.document_root }};<span ng-if="data.access_log !== ''">
 | 
						|
 | 
						|
	access_log off;</span><span ng-if="data.gzip">
 | 
						|
 | 
						|
	# gzip
 | 
						|
	gzip on;
 | 
						|
	gzip_vary on;
 | 
						|
	gzip_proxied any;
 | 
						|
	gzip_comp_level 6;
 | 
						|
	gzip_types {{ gzipTypes }};</span>
 | 
						|
 | 
						|
	location ~* \.(?:{{ extensions.assets }}|{{ extensions.fonts }}|{{ extensions.svg }}|{{ extensions.images }}|{{ extensions.audio }}|{{ extensions.video }}|{{ extensions.docs }})$ {
 | 
						|
		add_header Access-Control-Allow-Origin "*";
 | 
						|
		add_header Cache-Control "public";
 | 
						|
		expires 30d;
 | 
						|
	}
 | 
						|
 | 
						|
	location / {
 | 
						|
		deny all;
 | 
						|
	}
 | 
						|
}</span>
 | 
						|
 | 
						|
# {{ !data.non_www ? 'domain, ' : '' }}subdomains redirect
 | 
						|
server {
 | 
						|
	listen 80;
 | 
						|
	listen [::]:80;
 | 
						|
 | 
						|
	server_name {{ !data.non_www ? data.domain + ' ' : '' }}*.{{ data.domain }};
 | 
						|
 | 
						|
	return 301 http://{{ !data.non_www ? 'www.' : '' }}{{ data.domain }}$request_uri;
 | 
						|
}</span>
 |