Я разработал очень простое демо-приложение Todo List (Express + React), согласно YT-уроку Брэда Траверси , и успешно развернул его в Heroku, где оно запущено и работает.Однако, когда я развернул тот же самый точный код в IBM Cloud, я получил только пустой экран с предложением Invalid Host header
.
Еще немного контекста:
- Я использовал
create-react-app
в корне моего проекта - Между сервером и клиентом React существует прокси
Я развернул рабочую версию, которая обслуживает статические файлы:
// Serve static assets if in production
if (process.env.NODE_ENV === 'production') {
app.use(express.static('client/build'))
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'))
})
}
Этапы сборки и развертывания в моем конвейере развертывания в IBM Cloud проходят без проблем
Я попытался решить эту проблему, используя подходофициальные документы create-Reaction-app предлагают:
HOST=mypublicdevhost.com
DANGEROUSLY_DISABLE_HOST_CHECK=true
Некоторые люди задавали аналогичный вопрос и о переполнении стека:
Однако ни один из ответов не помог.
Я пришел к выводу, что это проблема IBM Cloud.Кто-нибудь знает возможную причину этого?Существуют ли какие-либо ограничения, которые есть у IBM Cloud, которые препятствуют правильной загрузке моего приложения?
Любая помощь будет принята.
РЕДАКТИРОВАТЬ:
Сценарий для фазы сборки:
export PATH=/opt/IBM/node-v6.7.0/bin:$PATH
npm install
npm run build
Скрипт для фазы развертывания:
cf push "${CF_APP}"