在 Nginx 服务器上运行 next-js 会在资源和链接上出现 404 错误

问题描述 投票:0回答:1

我在 nginx 上托管 nextJs 网站。

这是我的配置:

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html/;
        index index.html index.htm index.nginx-debian.html;

        server_name a.com;
        location / {
                proxy_pass http://localhost: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;
                try_files $uri $uri/ =404;
        }

}

当我尝试访问我的网站时,它给出了 404 静态错误:

enter image description here

如果我添加此行,站点静态加载效果很好,我无法导航该站点:

`       location /_next/static/ {
                alias /var/www/html/dist/static/;
                expires 365d;
                access_log off;
        }
`

它给了我这个错误:

**_next/data returns 404 (NGINX)**

我正在使用 pm2 npm 运行我的 next.js

更改 nginx 配置

nginx npm next.js pm2
1个回答
0
投票

您可以尝试删除

try_files $uri $uri/ =404;

默认情况下,nextjs 构建目录是

.next/static
您可以尝试将别名路径更改为

location /_next/{
    alias /path/.next/;
    expires 365d;
    access_log off;
}
© www.soinside.com 2019 - 2024. All rights reserved.