diff --git a/frontend/nginx.conf b/frontend/nginx.conf index 48f5024..fcc63f3 100644 --- a/frontend/nginx.conf +++ b/frontend/nginx.conf @@ -11,10 +11,24 @@ server { } } +server { + listen 80; + server_name asset.jiansun.vip; + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + + location / { + return 301 https://$host$request_uri; + } +} + server { listen 80 default_server; server_name _; charset utf-8; + client_max_body_size 50m; root /usr/share/nginx/html; index index.html; @@ -61,11 +75,75 @@ server { } } +server { + listen 443 ssl; + http2 on; + server_name asset.jiansun.vip; + charset utf-8; + client_max_body_size 50m; + root /usr/share/nginx/html; + index index.html; + + ssl_certificate /etc/letsencrypt/live/asset.jiansun.vip/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/asset.jiansun.vip/privkey.pem; + ssl_session_timeout 1d; + ssl_session_cache shared:SSL:10m; + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers off; + + gzip on; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + + location / { + add_header Cache-Control "no-store, no-cache, must-revalidate" always; + add_header Pragma "no-cache" always; + expires -1; + try_files $uri $uri/ /index.html; + } + + location /api { + proxy_pass http://backend:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + 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_cache_bypass $http_upgrade; + } + + location /uploads { + proxy_pass http://backend:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + location /downloads { + proxy_pass http://backend:3000; + 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; + proxy_set_header X-Forwarded-Host $host; + } + + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + } +} + server { listen 443 ssl; http2 on; server_name www.jsgdzc.cn jsgdzc.cn; charset utf-8; + client_max_body_size 50m; root /usr/share/nginx/html; index index.html;