Итак, у меня есть докеризованное приложение Next JS, которое размещено на AWS (kubernetes, ECR ... et c), и к нему можно получить доступ с помощью нескольких URL, например:
www.mydomain.com/myApp
www.mydomain.com/french-territory/monApp
www.mydomain.com/german-territory/meinApp
....etc
И, зная, по какому URL-адресу загружено приложение, мы загружаем в базу данных другую конфигурацию / разные запросы ... et c
Проблема в том, что при доступе к этим URL-адресам я получаю 404
поскольку Next JS пытается загрузить активы из www.mydomain.com/_next/statc/.....
, то есть Next JS пытается получить доступ к активам из root домена,
Я обнаружил, что способ сделать это работа использует assetPrefix
(Обратите внимание, что я не могу поместить assetPRefix
в next.config.js
, потому что сам assetPrefix имеет значение Dynami c, поэтому я попытался загрузить его следующим образом в server.js
:
server.get('*', (req, res) => {
const reqUrl = req.protocol + '://' + req.headers.host + req.url
const config = extractConfig(reqUrl)
app.setAssetPrefix(config.assetPrefix)
return handle(req, res)
})
Где extractConfig
загружает соответствующий assetPrefix
, например, для: www.mydomain.com/french-territory/monApp
assetPrefix='/french-territory/monApp'
, но я все равно получаю 404, и приложение не работает.
У кого-нибудь есть идея ? Заранее спасибо!