Static single-page marketing site with dark theme, 3-tier pricing, LLM/agent SEO (llms.txt), and deployment setup that overlays onto the existing WebsiteBox nginx via docker-compose.override.yml without modifying any core project files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
# Marketing site — HTTPS server block
|
|
# Activated after SSL certificate is acquired
|
|
|
|
server {
|
|
listen 443 ssl;
|
|
http2 on;
|
|
server_name MARKETING_DOMAIN_PLACEHOLDER;
|
|
|
|
ssl_certificate /etc/letsencrypt/live/MARKETING_DOMAIN_PLACEHOLDER/fullchain.pem;
|
|
ssl_certificate_key /etc/letsencrypt/live/MARKETING_DOMAIN_PLACEHOLDER/privkey.pem;
|
|
include /etc/nginx/snippets/ssl-params.conf;
|
|
|
|
root /var/www/marketing;
|
|
index index.html;
|
|
|
|
location / {
|
|
try_files $uri $uri/ =404;
|
|
}
|
|
|
|
# Static file caching
|
|
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp|woff|woff2|ttf|eot|xml|txt)$ {
|
|
expires 30d;
|
|
add_header Cache-Control "public, immutable";
|
|
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
add_header X-Content-Type-Options nosniff always;
|
|
add_header X-Frame-Options SAMEORIGIN always;
|
|
add_header X-XSS-Protection "1; mode=block" always;
|
|
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
|
access_log off;
|
|
}
|
|
}
|
|
|
|
# HTTP to HTTPS redirect
|
|
server {
|
|
listen 80;
|
|
server_name MARKETING_DOMAIN_PLACEHOLDER;
|
|
|
|
location /.well-known/acme-challenge/ {
|
|
root /var/www/certbot;
|
|
}
|
|
|
|
location / {
|
|
return 301 https://$host$request_uri;
|
|
}
|
|
}
|