blob: 715ac9a1a6718db87df5381e5a290b5fe393798c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# nebbet.no nginx configuration
# Adjust SITE_ROOT to the absolute path of your project directory.
# Reload after changes: sudo nginx -s reload
server {
listen 80;
listen [::]:80;
server_name nebbet.no www.nebbet.no;
# Redirect www → apex (optional, remove if not needed)
if ($host = www.nebbet.no) {
return 301 $scheme://nebbet.no$request_uri;
}
# ── static assets ────────────────────────────────────────────────────────
# Served directly from source so you don't have to copy them on every build.
location /styles/ {
alias SITE_ROOT/styles/;
expires 1d;
add_header Cache-Control "public";
}
location /components/ {
alias SITE_ROOT/components/;
expires 1d;
add_header Cache-Control "public";
}
location /lib/ {
alias SITE_ROOT/lib/;
expires 1d;
add_header Cache-Control "public";
}
# ── admin (password-protected) ───────────────────────────────────────────
location /admin/ {
auth_basic "Admin";
# The .passwords file is htpasswd-compatible (bcrypt).
# Manage with: nebbet user add <name>
auth_basic_user_file SITE_ROOT/.passwords;
root SITE_ROOT/public;
index index.html;
try_files $uri $uri.html $uri/index.html =404;
}
# ── public pages ─────────────────────────────────────────────────────────
location / {
root SITE_ROOT/public;
index index.html;
# Clean URLs: /about → /about.html
try_files $uri $uri.html $uri/index.html =404;
expires 1h;
add_header Cache-Control "public";
}
# ── 404 ──────────────────────────────────────────────────────────────────
error_page 404 /404.html;
location = /404.html {
root SITE_ROOT/public;
internal;
}
# ── gzip ─────────────────────────────────────────────────────────────────
gzip on;
gzip_types text/html text/css application/javascript application/json;
gzip_min_length 1024;
}
|