У меня есть приложение Nuxt Universal, развернутое на AWS Elasti c Beanstalk через интерфейс командной строки. Поддомен с подстановочными знаками настраивается через Namecheap, поэтому наши клиенты могут получить доступ к своему сайту по адресу client-name.mycompany.com
. У меня также есть SSL, настроенный через ACM, и у меня есть балансировщик нагрузки приложений на моем экземпляре EB.
В моем действии nuxtServerInit я делаю вызов API для URL-адреса, который создается из значения заголовка хоста, например:
async nuxtServerInit ({ commit }, { req }) {
apiService.init(process.env.ROOT_API);
const data = await vendorDirectoryAPI.getDirectoryId(req.headers.host);
// logic
commit("setDirectoryData", data);
},
Проблема, с которой я столкнулся заключается в том, что примерно для 10% поддоменов вызов API не выполняется. Просматривая журналы, проблема для отказавших поддоменов заключается в том, что значение req.headers.host
является IP-адресом. Для остальных 90% значение соответствует ожидаемому: client-name.mycompany.com
.
Что здесь происходит? Есть ли лучший способ получить URL-адрес, который посещает пользователь? Нужно ли мне делать какие-то нестандартные конфигурации nginx? Стоит ли мне попробовать настроить новую среду?
Любые предложения, подсказки и т. Д. c. был бы очень признателен, я относительно новичок в Elasti c Beanstalk (и AWS в целом).
Пожалуйста, дайте мне знать, если я могу предоставить какую-либо дополнительную информацию, которая была бы полезна, я уверен, что есть кое-что, что я не смог включить.