mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-01-08 03:59:45 -08:00
225 lines
6.7 KiB
Smarty
225 lines
6.7 KiB
Smarty
server {
|
|
listen %ip%:%web_port%;
|
|
server_name %domain_idn% %alias_idn%;
|
|
root %docroot%;
|
|
index index.php index.html index.htm;
|
|
access_log /var/log/nginx/domains/%domain%.log combined;
|
|
access_log /var/log/nginx/domains/%domain%.bytes bytes;
|
|
error_log /var/log/nginx/domains/%domain%.error.log error;
|
|
|
|
############################################################################
|
|
|
|
# Default encoding
|
|
charset utf-8;
|
|
|
|
############################################################################
|
|
|
|
# Compression
|
|
gzip on;
|
|
gzip_disable "msie6";
|
|
gzip_comp_level 6;
|
|
gzip_min_length 1100;
|
|
gzip_buffers 16 8k;
|
|
gzip_proxied any;
|
|
gzip_types text/plain application/xml
|
|
application/javascript
|
|
text/css
|
|
text/js
|
|
text/xml
|
|
application/x-javascript
|
|
text/javascript
|
|
application/json
|
|
application/xml+rss;
|
|
|
|
############################################################################
|
|
|
|
# Other settings
|
|
client_max_body_size 100m;
|
|
client_body_buffer_size 128k;
|
|
client_header_timeout 3m;
|
|
client_body_timeout 3m;
|
|
send_timeout 3m;
|
|
client_header_buffer_size 1k;
|
|
large_client_header_buffers 4 16k;
|
|
|
|
############################################################################
|
|
|
|
error_page 598 = @backend;
|
|
|
|
############################################################################
|
|
|
|
location @backend {
|
|
try_files $uri $uri/ /$2$3 /$3 /index.php =404;
|
|
# The path to the PHP-FPM daemon socket
|
|
fastcgi_pass unix:/var/run/php/%domain%.sock;
|
|
#
|
|
fastcgi_index index.php;
|
|
fastcgi_read_timeout 360;
|
|
# Including the contents of fastcgi_params.conf
|
|
################################################################################
|
|
fastcgi_param QUERY_STRING $query_string;
|
|
fastcgi_param REQUEST_METHOD $request_method;
|
|
fastcgi_param CONTENT_TYPE $content_type;
|
|
fastcgi_param CONTENT_LENGTH $content_length;
|
|
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
|
fastcgi_param REQUEST_URI $request_uri;
|
|
fastcgi_param DOCUMENT_URI $document_uri;
|
|
fastcgi_param DOCUMENT_ROOT $document_root;
|
|
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
|
fastcgi_param HTTPS $https if_not_empty;
|
|
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
|
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
|
|
fastcgi_param REMOTE_ADDR $remote_addr;
|
|
fastcgi_param REMOTE_PORT $remote_port;
|
|
fastcgi_param SERVER_ADDR $server_addr;
|
|
fastcgi_param SERVER_PORT $server_port;
|
|
fastcgi_param SERVER_NAME $server_name;
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
fastcgi_param REDIRECT_STATUS 200;
|
|
################################################################################
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location / {
|
|
index index.php index.html index.htm;
|
|
try_files $uri $uri/ /index.php?$args;
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?api/ {
|
|
rewrite ^/(\w+/)?(\w+/)?api/(.*)$ /api.php?_d=$3&ajax_custom=1&$args last;
|
|
rewrite_log off;
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?var/database/ {
|
|
return 404;
|
|
}
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?var/backups/ {
|
|
return 404;
|
|
}
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?var/restore/ {
|
|
return 404;
|
|
}
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?var/themes_repository/ {
|
|
allow all;
|
|
location ~* \.(tpl|php.?)$ {
|
|
return 404;
|
|
}
|
|
}
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?var/ {
|
|
return 404;
|
|
location ~* /(\w+/)?(\w+/)?(.+\.(js|css|png|jpe?g|gz|yml|xml))$ {
|
|
try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
|
|
allow all;
|
|
access_log off;
|
|
expires 1M;
|
|
add_header Cache-Control public;
|
|
add_header Access-Control-Allow-Origin *;
|
|
}
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?app/payments/ {
|
|
return 404;
|
|
location ~ \.php$ {
|
|
return 598;
|
|
}
|
|
}
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?app/addons/rus_exim_1c/ {
|
|
return 404;
|
|
location ~ \.php$ {
|
|
return 598;
|
|
}
|
|
}
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?app/ {
|
|
return 404;
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(favicon|apple-touch-icon-|homescreen-|firefox-icon-|coast-icon-|mstile-).*\.(png|ico)$ {
|
|
access_log off;
|
|
try_files $uri =404;
|
|
expires max;
|
|
add_header Access-Control-Allow-Origin *;
|
|
add_header Cache-Control public;
|
|
}
|
|
|
|
location ~* /(\w+/)?(\w+/)?(.+\.(jpe?g|jpg|ico|gif|png|css|js|pdf|txt|tar|woff|svg|ttf|eot|csv|zip|xml|yml))$ {
|
|
access_log off;
|
|
try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
|
|
expires max;
|
|
add_header Access-Control-Allow-Origin *;
|
|
add_header Cache-Control public;
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?design/ {
|
|
allow all;
|
|
location ~* \.(tpl|php.?)$ {
|
|
return 404;
|
|
}
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?images/ {
|
|
allow all;
|
|
location ~* \.(php.?)$ {
|
|
return 404;
|
|
}
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?js/ {
|
|
allow all;
|
|
location ~* \.(php.?)$ {
|
|
return 404;
|
|
}
|
|
}
|
|
|
|
############################################################################
|
|
|
|
location ~ ^/(\w+/)?(\w+/)?init.php {
|
|
return 404;
|
|
}
|
|
|
|
location ~* \.(tpl.?)$ {
|
|
return 404;
|
|
}
|
|
|
|
location ~ /\.(ht|git) {
|
|
return 404;
|
|
}
|
|
|
|
location ~* \.php$ {
|
|
return 598 ;
|
|
}
|
|
|
|
################################################################################
|
|
|
|
location /vstats/ {
|
|
alias %home%/%user%/web/%domain%/stats/;
|
|
include %home%/%user%/conf/web/%domain%.auth*;
|
|
}
|
|
|
|
include /etc/nginx/conf.d/phpmyadmin.inc*;
|
|
include /etc/nginx/conf.d/phppgadmin.inc*;
|
|
include /etc/nginx/conf.d/webmail.inc*;
|
|
|
|
include %home%/%user%/conf/web/nginx.%domain%.conf*;
|
|
}
|