NGINX Reverse proxy for multiple nextjs application error net::ERR_ABORTED 404(Not Found)

lokaqttq  于 4个月前  发布在  Nginx
关注(0)|答案(1)|浏览(44)

我是NGINX和实现反向代理的新手。我有两个nextjs应用程序。两者都是容器化的,并且都在容器中工作正常。当我实现proxy_pass时,第二个应用程序不能按预期工作。
App 1在位置上完美工作/
App 2在location /admin上返回静态文件的错误
当我转到/admin时,它看起来像是在/而不是/admin上查找nextjs静态文件。
我的位置配置是:

location /admin {
        proxy_pass http://adminui:3010; 

    }

    location / {
        proxy_pass http://frontendui:3003; //this works fine
    }

字符串
/admin位置只查找localhost上的资源,而它应该查找localhost/admin/,如下图所示:
x1c 0d1x的数据
期待您的指导。
谢谢你!

lndjwyie

lndjwyie1#

问题是,/admin应用程序中的所有静态文件都具有不以/admin开头的URL,然后将查找其他容器。
我认为最简单的方法是使用基本路径定义管理应用程序。

module.exports = {
  basePath: '/admin',
  assetPrefix: '/admin',
}

字符串
然后更改nginx配置以Map到admin路径,如:

location /admin {
        proxy_pass http://adminui:3010/admin; 
    }


这应该会触发带有/admin/_next/...的静态请求,并正确应答它们。
我认为它可能只是在你的设置中添加assetPrefix,但它不会在本地工作。

相关问题