reverted nginx config
All checks were successful
Jekyll site CI / docker (push) Successful in 1m8s

This commit is contained in:
Steffen Illium 2025-05-16 14:27:05 +02:00
parent 7120f7e22a
commit fa8f43ea39

View File

@ -1,43 +1,61 @@
# Define the root directory for your website files # Map to check if client is capable of handling webp
root /usr/share/nginx/html; map $http_accept $webp_suffix {
default "";
# Location block specifically for JPG, JPEG, and PNG images "~*webp" ".webp"; # Sets suffix to .webp if Accept header contains webp
location ~* \.(jpe?g|png)$ {
# Add Vary header tells caches that response depends on Accept header
add_header Vary Accept;
# Set cache expiration headers for images
expires 180d;
add_header Pragma "public";
add_header Cache-Control "public";
# Try to serve the .webp file first if browser supports it
# $image_path_without_ext comes from the map above
# $webp_suffix comes from the map above (.webp or empty)
# If $image_path_without_ext$webp_suffix exists (e.g., /path/image.webp), serve it.
# Otherwise, try the original $uri (e.g., /path/image.png).
# If neither exists, return 404.
try_files $image_path_without_ext$webp_suffix $uri =404;
} }
# Default location block for other requests (HTML, CSS, JS, etc.) # Map to capture the image path *without* the file extension
location / { # This regex captures everything before the last dot and jpg/jpeg/png extension
index index.html index.htm; map $uri $image_path_without_ext {
try_files $uri $uri/ /index.html; # Common pattern for SPAs/frameworks ~^(?<captured_path>.+)\.(?:jpe?g|png)$ $captured_path;
} }
# Error pages server {
error_page 404 /404.html; listen 80;
location = /404.html { listen [::]:80;
internal; # Prevents direct access to the error page server_name localhost; # Replace localhost with your actual domain if needed
}
error_page 500 502 503 504 /50x.html; # Optional: generic 50x error page # Define the root directory for your website files
location = /50x.html { root /usr/share/nginx/html;
internal;
}
# Gzip settings (keep as they are) # Location block specifically for JPG, JPEG, and PNG images
gzip on; location ~* \.(jpe?g|png)$ {
gzip_comp_level 4; # Add Vary header tells caches that response depends on Accept header
gzip_types text/html text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; add_header Vary Accept;
# Set cache expiration headers for images
expires 180d;
add_header Pragma "public";
add_header Cache-Control "public";
# Try to serve the .webp file first if browser supports it
# $image_path_without_ext comes from the map above
# $webp_suffix comes from the map above (.webp or empty)
# If $image_path_without_ext$webp_suffix exists (e.g., /path/image.webp), serve it.
# Otherwise, try the original $uri (e.g., /path/image.png).
# If neither exists, return 404.
try_files $image_path_without_ext$webp_suffix $uri =404;
}
# Default location block for other requests (HTML, CSS, JS, etc.)
location / {
index index.html index.htm;
try_files $uri $uri/ /index.html; # Common pattern for SPAs/frameworks
}
# Error pages
error_page 404 /404.html;
location = /404.html {
internal; # Prevents direct access to the error page
}
error_page 500 502 503 504 /50x.html; # Optional: generic 50x error page
location = /50x.html {
internal;
}
# Gzip settings (keep as they are)
gzip on;
gzip_comp_level 4;
gzip_types text/html text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}