92 lines
2.3 KiB
Nginx Configuration File
92 lines
2.3 KiB
Nginx Configuration File
user www-data;
|
|
|
|
worker_processes 1;
|
|
|
|
pid /run/nginx.pid;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
include mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
# the collectd config depends on this log format
|
|
log_format combined2 '$remote_addr - [$time_local] '
|
|
'"$request" $status $body_bytes_sent $request_time '
|
|
'"$http_referer" "$http_user_agent"';
|
|
|
|
# required for long host names
|
|
server_names_hash_bucket_size 128;
|
|
|
|
access_log access.log combined2;
|
|
|
|
sendfile on;
|
|
|
|
# timeout for client to finish sending headers
|
|
client_header_timeout 30s;
|
|
|
|
# timeout for reading client request body (successive read timeout and not whole body!)
|
|
client_body_timeout 60s;
|
|
|
|
# keep-alive connections timeout in 65s. this is because many browsers timeout in 60 seconds
|
|
keepalive_timeout 65s;
|
|
|
|
# HTTP server
|
|
server {
|
|
listen 80;
|
|
|
|
# collectd
|
|
location /nginx_status {
|
|
stub_status on;
|
|
access_log off;
|
|
allow 127.0.0.1;
|
|
deny all;
|
|
}
|
|
|
|
# acme challenges
|
|
location /.well-known/acme-challenge/ {
|
|
default_type text/plain;
|
|
alias /home/yellowtent/data/acme/;
|
|
}
|
|
|
|
location / {
|
|
# redirect everything to HTTPS
|
|
return 301 https://$host$request_uri;
|
|
}
|
|
}
|
|
|
|
# This server handles the naked domain for custom domains.
|
|
# It can also be used for wildcard subdomain 404. This feature is not used by the Cloudron itself
|
|
# because box always sets up DNS records for app subdomains.
|
|
server {
|
|
listen 443 default_server;
|
|
ssl on;
|
|
ssl_certificate cert/host.cert;
|
|
ssl_certificate_key cert/host.key;
|
|
|
|
error_page 404 = @fallback;
|
|
location @fallback {
|
|
internal;
|
|
root /home/yellowtent/box/webadmin/dist;
|
|
rewrite ^/$ /nakeddomain.html break;
|
|
}
|
|
|
|
location / {
|
|
internal;
|
|
root /home/yellowtent/box/webadmin/dist;
|
|
rewrite ^/$ /nakeddomain.html break;
|
|
}
|
|
|
|
# required for /api/v1/cloudron/avatar
|
|
location /api/ {
|
|
proxy_pass http://127.0.0.1:3000;
|
|
client_max_body_size 1m;
|
|
}
|
|
}
|
|
|
|
include applications/*.conf;
|
|
}
|
|
|