2017-04-27 46 views
10

我有一個簡單的React JS項目,我正在部署到OSE中。另外我在我的項目中使用下面的依賴關係。「Invalid Host Header」in運行React App時

"webpack": "^2.2.0", 
"webpack-dev-server": "^1.14.1", 
"react": "^15.5.4", 
"react-router-dom": "^4.1.1" 

另外我通過下面的構建腳本運行我的項目。

"build": "SET NODE_ENV=production && webpack-dev-server --host 0.0.0.0 --inline --history-api-fallback --content-base . " 

在OSE中一切正常,並且Webpack編譯成功。但在訪問網址時,它會在網頁上顯示「無效的主機標題」。

任何人都可以幫忙。反應有點新。

在此先感謝。

回答

17

在您的webpack配置中,您可以在devServer配置中添加disableHostCheck: true。例如,

devServer: { 
    disableHostCheck: true 
} 
+1

這不推薦使用,因爲它會引入安全問題。有關說明,請參閱https://github.com/webpack/webpack-dev-server/issues/887。 – mgol

+0

那麼推薦的解決方案是什麼?鏈接似乎沒有解決 – mel3kings

0

只是爲了解釋爲什麼發生這種情況。

webpack-dev-server已發佈v2.4.3

引用他們的補丁注:

請求的主機頭必須匹配聽音ADRESS或公共選項提供的主機。 確保在此提供正確的值。

它們還包括disableHostCheck把這個檢查過,但

只使用它時,你知道你做了什麼。不建議。

+1

但爲什麼它打破了2.2.0的webpack版本? –

+0

好問題。我的package.json版本是'^ 1.16.2'。仍然打破它。 –

+0

@BharatSewani由於之前的安裝存在安全問題,因此它被放入補丁版本。請參閱https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a&https://github.com/webpack/webpack-dev-server/issues/887。 – mgol

0

在構建腳本中將主機更改爲127.0.0.1。

"build": "SET NODE_ENV=production && webpack-dev-server --host 127.0.0.1 --inline --history-api-fallback --content-base . "