Nuxt build仅主域名可正常访问,其他关联域名_nuxt资源返回404求助
修复方案
1. 调整Nuxt配置
你当前nuxt.config.js中未显式指定静态资源的公共路径,默认配置可能会绑定打包时的环境域名,导致跨域名资源加载失败。在配置文件的build块中新增publicPath配置:
build: { // 显式指定资源路径为根路径下的_nuxt文件夹,适配所有访问域名 publicPath: '/_nuxt/', transpile: [ 'vee-validate/dist/rules' ] },
同时检查项目所有环境变量配置,确认没有写死test-domain.com作为静态资源前缀的规则。
2. 校验Nginx多域名配置
确认两个关联域名的Nginx server块配置,都正确指向了同一个Nuxt服务的静态资源路径,参考配置如下:
# 主域名配置 server { listen 80; server_name test-domain.com; location /_nuxt { # server模式下_nuxt的实际资源存放路径,按你的实际部署路径修改 alias /www/your_project/.nuxt/dist/client; expires 1y; add_header Cache-Control "public, immutable"; } location / { proxy_pass http://localhost:3000; # 对应你nuxt配置的服务端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } # 第二个域名配置,仅修改server_name即可,其余配置和主域名保持一致 server { listen 80; server_name test2-domain.com; location /_nuxt { alias /www/your_project/.nuxt/dist/client; expires 1y; add_header Cache-Control "public, immutable"; } location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
3. 重新构建部署
修改完成后执行npm run build重新打包,重启Nuxt服务和Nginx即可生效。
内容的提问来源于stack exchange,提问作者bharat savani
相关产品推荐
相关产品推荐

