Files
docker-nginx/volumes/conf.d/pkrstarsbot.zinomedia.de.conf
2023-11-29 12:38:12 +01:00

52 lines
1.5 KiB
Plaintext

server {
listen 443 ssl;
listen [::]:443 ssl;
server_name pkrstarsbot.zinomedia.de;
access_log off;
error_log /var/log/nginx/error.log error;
root /usr/share/nginx/html/pkrstarsbot.zinomedia.de/www/htdocs;
index index.php index.html;
# SSL Certificate Configuration
ssl_certificate /etc/letsencrypt/live/pkrstarsbot.zinomedia.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/pkrstarsbot.zinomedia.de/privkey.pem;
# SSL Optimizations
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; img-src 'self' data:; style-src 'self'; font-src 'self' data:;" always;
location / {
try_files $uri $uri/ =404;
}
# PHP Processing
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
# Static File Caching (Optional)
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
server {
listen 80;
listen [::]:80;
server_name pkrstarsbot.zinomedia.de;
return 301 https://$host$request_uri;
}