73 lines
1.8 KiB
Nginx Configuration File
73 lines
1.8 KiB
Nginx Configuration File
worker_processes 4;
|
|
pid /var/run/nginx.pid;
|
|
|
|
events {
|
|
worker_connections 768;
|
|
# multi_accept on;
|
|
}
|
|
|
|
http {
|
|
# Basic Settings
|
|
sendfile on;
|
|
tcp_nopush on;
|
|
tcp_nodelay on;
|
|
keepalive_timeout 65;
|
|
types_hash_max_size 2048;
|
|
# server_names_hash_bucket_size 64;
|
|
server_tokens off;
|
|
server_name_in_redirect off;
|
|
|
|
include mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
# Logging
|
|
access_log off;
|
|
error_log stderr;
|
|
|
|
# Prevent nginx from adding compression; this interacts badly with Sandstorm
|
|
# WebSession due to https://github.com/sandstorm-io/sandstorm/issues/289
|
|
gzip off;
|
|
|
|
# Trust the sandstorm-http-bridge's X-Forwarded-Proto.
|
|
map $http_x_forwarded_proto $fe_https {
|
|
default "";
|
|
https on;
|
|
}
|
|
|
|
server {
|
|
listen 8000 default_server;
|
|
listen [::]:8000 default_server ipv6only=on;
|
|
|
|
# Allow arbitrarily large bodies - Sandstorm can handle them, and requests
|
|
# are authenticated already, so there's no reason for apps to add additional
|
|
# limits by default.
|
|
client_max_body_size 0;
|
|
|
|
server_name localhost;
|
|
root /opt/app/dokuwiki;
|
|
index doku.php;
|
|
|
|
location ~ /(data/|conf/|bin/|inc/|install.php) { deny all; }
|
|
|
|
location / {
|
|
try_files $uri $uri/ @dokuwiki;
|
|
}
|
|
|
|
location @dokuwiki {
|
|
rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
|
|
rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
|
|
rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
|
|
rewrite ^/(.*) /doku.php?id=$1&$args last;
|
|
}
|
|
|
|
location ~ \.php$ {
|
|
if (!-f $request_filename) { return 404; }
|
|
include fastcgi_params;
|
|
fastcgi_pass unix:/var/run/php-fpm7.0.sock;
|
|
fastcgi_param REDIRECT_STATUS 200;
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
}
|
|
|
|
}
|
|
}
|