HTTP 404 Not Found Error with .woff or .woff2 Font Files

博客指出,当出现ERR_ABORTED 404 (Not Found) WOFF2情况时,有可能是文件不存在导致的,聚焦于该错误信息与文件存在性的关联。

NewImage

NewImage

 

如果是 ERR_ABORTED 404 (Not Found) WOFF2,则有可能是文件不存在

Request URL: http://192.168.8.2:8001/yaxt-boot/sys/login Request Method: POST Status Code: 404 Not Found Remote Address: 192.168.8.2:8001 Referrer Policy: strict-origin-when-cross-origin 帮我看一下 server { listen 8001; server_name localhost; # 前端1的dist目录 root /jjkj/web/local1/dist; index index.html; # 错误页面 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # 静态资源缓存策略 location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff2|webp)$ { # 带哈希值的文件长期缓存 if ($request_uri ~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 1y; add_header Cache-Control "public, immutable, max-age=31536000"; } # 不带哈希值的文件中等缓存 if ($request_uri !~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 7d; add_header Cache-Control "public, max-age=604800"; } try_files $uri =404; access_log off; # 减少日志 } # HTML文件不缓存 location ~* \.(?:html)$ { expires -1; add_header Cache-Control "no-store, no-cache, must-revalidate"; } # API请求转发到后端1 location /api/ { proxy_pass http://backend1; 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_set_header X-Forwarded-Proto $scheme; # 超时设置 proxy_connect_timeout 60s; proxy_read_timeout 60s; proxy_send_timeout 60s; proxy_buffer_size 4k; proxy_buffers 8 16k; proxy_busy_buffers_size 24k; } # WebSocket支持 location /ws/ { proxy_pass http://backend1; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } # SPA路由处理 location / { try_files $uri $uri/ /index.html; # 添加安全头 add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "no-referrer-when-downgrade" always; } # 禁止访问隐藏文件 location ~ /\. { deny all; access_log off; log_not_found off; } # 健康检查端点 location /healthz { access_log off; return 200 'OK'; add_header Content-Type text/plain; } } 这个配置为什么找不到路径
08-29
# 项目1配置 server { listen 8001; server_name localhost; # 前端1的dist目录 root /var/www/project1/dist; index index.html; # 静态资源 location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ { expires 1y; add_header Cache-Control "public, immutable"; try_files $uri =404; } # API请求转发到后端1 location /api/ { proxy_pass http://backend1; # 后端1服务 # 代理设置... } # SPA路由处理 location / { try_files $uri $uri/ /index.html; } } # 项目2配置 server { listen 8002; server_name localhost; # 前端2的dist目录 root /var/www/project2/dist; index index.html; # 静态资源 location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ { expires 1y; add_header Cache-Control "public, immutable"; try_files $uri =404; } # API请求转发到后端2 location /api/ { proxy_pass http://backend2; # 后端2服务 # 代理设置... } # SPA路由处理 location / { try_files $uri $uri/ /index.html; } } # 后端服务定义 upstream backend1 { server 127.0.0.1:3001; # 项目1的后端服务 } upstream backend2 { server 127.0.0.1:3002; # 项目2的后端服务 } 帮我按照这个把user www-data; worker_processes auto; worker_cpu_affinity auto; pid /run/nginx.pid; error_log /var/log/nginx/error.log; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; types_hash_max_size 2048; server_tokens off; # Recommended practice is to turn this off # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1.2 TLSv1.3; # Dropping SSLv3 (POODLE), TLS 1.0, 1.1 ssl_prefer_server_ciphers off; # Don't force server cipher order. ## # Logging Settings ## access_log /var/log/nginx/access.log; ## # Gzip Settings ## gzip on; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #} 改一下,最终出一个完整的
08-28
user www-data; worker_processes auto; worker_cpu_affinity auto; pid /run/nginx.pid; error_log /var/log/nginx/error.log; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; use epoll; multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; types_hash_max_size 2048; server_tokens off; # 优化连接保持 keepalive_timeout 65; keepalive_requests 1000; reset_timedout_connection on; client_body_timeout 12; client_header_timeout 12; # 缓冲区优化 client_body_buffer_size 10K; client_header_buffer_size 1k; client_max_body_size 8m; large_client_header_buffers 2 1k; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s; ## # Logging Settings ## log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log warn; ## # Gzip Settings ## gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_min_length 256; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; ## # 后端服务定义 ## upstream backend1 { server 127.0.0.1:19999; # 项目1的后端服务 keepalive 32; # 保持连接池 } upstream backend2 { server 127.0.0.1:3002; # 项目2的后端服务 keepalive 32; # 保持连接池 } ## # 项目1配置 ## server { listen 8001; server_name localhost; # 前端1的dist目录 root /jjkj/web/local1/dist; index index.html; # 错误页面 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # 静态资源缓存策略 location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff2|webp)$ { # 带哈希值的文件长期缓存 if ($request_uri ~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 1y; add_header Cache-Control "public, immutable, max-age=31536000"; } # 不带哈希值的文件中等缓存 if ($request_uri !~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 7d; add_header Cache-Control "public, max-age=604800"; } try_files $uri =404; access_log off; # 减少日志 } # HTML文件不缓存 location ~* \.(?:html)$ { expires -1; add_header Cache-Control "no-store, no-cache, must-revalidate"; } # API请求转发到后端1 location /api/ { proxy_pass http://backend1; 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_set_header X-Forwarded-Proto $scheme; # 超时设置 proxy_connect_timeout 60s; proxy_read_timeout 60s; proxy_send_timeout 60s; proxy_buffer_size 4k; proxy_buffers 8 16k; proxy_busy_buffers_size 24k; } # WebSocket支持 location /ws/ { proxy_pass http://backend1; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } # SPA路由处理 location / { try_files $uri $uri/ /index.html; # 添加安全头 add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "no-referrer-when-downgrade" always; } # 禁止访问隐藏文件 location ~ /\. { deny all; access_log off; log_not_found off; } # 健康检查端点 location /healthz { access_log off; return 200 'OK'; add_header Content-Type text/plain; } } ## # 项目2配置 ## server { listen 8002; server_name localhost; # 前端2的dist目录 root /var/www/project2/dist; index index.html; # 错误页面 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # 静态资源缓存策略(同项目1) location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff2|webp)$ { if ($request_uri ~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 1y; add_header Cache-Control "public, immutable, max-age=31536000"; } if ($request_uri !~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 7d; add_header Cache-Control "public, max-age=604800"; } try_files $uri =404; access_log off; # 减少日志 } # HTML文件不缓存 location ~* \.(?:html)$ { expires -1; add_header Cache-Control "no-store, no-cache, must-revalidate"; } # API请求转发到后端2 location /api/ { proxy_pass http://backend2; 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_set_header X-Forwarded-Proto $scheme; # 超时设置 proxy_connect_timeout 60s; proxy_read_timeout 60s; proxy_send_timeout 60s; proxy_buffer_size 4k; proxy_buffers 8 16k; proxy_busy_buffers_size 24k; } # WebSocket支持 location /ws/ { proxy_pass http://backend2; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } # SPA路由处理 location / { try_files $uri $uri/ /index.html; # 添加安全头 add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "no-referrer-when-downgrade" always; add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self';" always; } # 禁止访问隐藏文件 location ~ /\. { deny all; access_log off; log_not_found off; } # 健康检查端点 location /healthz { access_log off; return 200 'OK'; add_header Content-Type text/plain; } } ## # 默认服务器配置(处理未匹配请求) ## server { listen 80 default_server; server_name _; return 444; # 关闭连接,不发送任何响应 } ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 帮我看一下是不是只通过get请求
08-28
server { listen 8001; server_name localhost; # 前端1的dist目录 root /jjkj/web/local1/dist; index index.html; # 错误页面 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # 静态资源缓存策略 location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff2|webp)$ { # 带哈希值的文件长期缓存 if ($request_uri ~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 1y; add_header Cache-Control "public, immutable, max-age=31536000"; } # 不带哈希值的文件中等缓存 if ($request_uri !~* "(\.[0-9a-f]{8,32}\.(?:js|css))$") { expires 7d; add_header Cache-Control "public, max-age=604800"; } try_files $uri =404; access_log off; # 减少日志 } # HTML文件不缓存 location ~* \.(?:html)$ { expires -1; add_header Cache-Control "no-store, no-cache, must-revalidate"; } # API请求转发到后端1 location /yaxt-boot/ { proxy_pass http://backend1; 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_set_header X-Forwarded-Proto $scheme; # 超时设置 proxy_connect_timeout 60s; proxy_read_timeout 60s; proxy_send_timeout 60s; proxy_buffer_size 4k; proxy_buffers 8 16k; proxy_busy_buffers_size 24k; } # WebSocket支持 location /ws/ { proxy_pass http://backend1; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } # SPA路由处理 location / { try_files $uri $uri/ /index.html; # 添加安全头 add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "no-referrer-when-downgrade" always; } # 禁止访问隐藏文件 location ~ /\. { deny all; access_log off; log_not_found off; } # 健康检查端点 location /healthz { access_log off; return 200 'OK'; add_header Content-Type text/plain; } } 改成这样还是报404
08-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值