| 
					
				 | 
			
			
				@@ -2,6 +2,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {%- set vhost = x509.vhost -%} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {%- set ssl = vhost.ssl | default(false) -%} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{%- set php_fastcgi = vhost.php_fastcgi | default(false) -%} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 server { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -29,7 +30,11 @@ server { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     root {{ vhost.root }}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    index {{ vhost.index | default('index.html index.htm') }}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{% if vhost.index is defined %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    index {{ vhost.index }}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{% else %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    index {% if php_fastcgi %}index.php {% endif %}index.html; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% if vhost.error_page is defined %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     error_page {{ vhost.error_page }}; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45,6 +50,25 @@ server { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return {{ vhost.return }}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{% if php_fastcgi %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    location ~ [^/]\.php(/|$) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # correctly handle request like /test.php/foo/blah.php or /test.php/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fastcgi_split_path_info ^(.+?\.php)(/.*)$; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # check whether the *.php does indeed exist to prevent nginx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # to feeding PHP FPM non php script file (like uploaded image) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # (if instead of try_files due to nginx bug #321) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!-f $document_root$fastcgi_script_name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return 404; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # Mitigate https://httpoxy.org/ vulnerabilities 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fastcgi_param HTTP_PROXY ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fastcgi_pass unix:/var/run/php5-fpm.sock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fastcgi_index index.php; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        include fastcgi_params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% if vhost.extra_parameters is defined %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {{ vhost.extra_parameters|indent(4) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% endif %} 
			 |