63 lines
1.6 KiB
Plaintext
63 lines
1.6 KiB
Plaintext
server {
|
|
index index.php index.html;
|
|
error_log /var/log/nginx/error.log;
|
|
access_log /var/log/nginx/access.log;
|
|
root /application;
|
|
|
|
# rewrite error codes
|
|
error_page 400 /index.php?error=400;
|
|
error_page 403 /index.php?error=403;
|
|
error_page 404 /index.php?error=404;
|
|
error_page 500 /index.php?error=500;
|
|
|
|
# rewrite api
|
|
rewrite ^/(api(/.*)?)$ /index.php?api=$1;
|
|
|
|
# deny access to .gitignore / .htaccess
|
|
location ~ /\.(?!well-known).* {
|
|
rewrite ^(.*)$ /index.php?site=$1;
|
|
}
|
|
|
|
# deny access to docker-compose.yml
|
|
location /docker-compose.yml {
|
|
rewrite ^(.*)$ /index.php?site=$1;
|
|
}
|
|
|
|
# but allow access to react/dist
|
|
location ~ ^/react/dist/.*$ {
|
|
add_header "Cache-Control" "max-age=0; must-revalidate";
|
|
try_files $uri $uri @redirectToIndex;
|
|
}
|
|
|
|
# deny access to specific directories
|
|
location ~ ^/(files/uploaded|react|docker|Site|Core|test)/.*$ {
|
|
rewrite ^(.*)$ /index.php?site=$1;
|
|
}
|
|
|
|
# caching
|
|
location ~ ^/(static|js|css)/.*$ {
|
|
add_header "Cache-Control" "max-age=0; must-revalidate";
|
|
}
|
|
|
|
# try to find the specified file
|
|
location / {
|
|
try_files $uri $uri @redirectToIndex;
|
|
}
|
|
|
|
# redirect to index.php
|
|
location @redirectToIndex {
|
|
rewrite ^(.*)$ /index.php?site=$1;
|
|
}
|
|
|
|
# serve .php files
|
|
location ~ \.php$ {
|
|
try_files $uri =404;
|
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
|
fastcgi_pass php:9000;
|
|
fastcgi_index index.php;
|
|
include fastcgi_params;
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
|
}
|
|
|
|
} |