# HTTP server for ACME challenge server { listen 80; listen [::]:80; server_name itformhelp.ru www.itformhelp.ru; # Allow only ACME challenge and redirect everything else to HTTPS location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /var/www/html; } location / { return 301 https://$server_name$request_uri; } } HTTPS server (commented out until we have certificates) server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name itformhelp.ru www.itformhelp.ru; ssl_certificate /etc/letsencrypt/live/itformhelp.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/itformhelp.ru/privkey.pem; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ /index.html; expires -1; add_header Cache-Control "no-store, no-cache, must-revalidate"; } location /api/ { proxy_pass http://backend:8000/api/; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }