2016-11-02 7 views
2

私はwebpackアプリケーションを持っており、開発モードでwebpack dev serverを使用してアプリケーションを実行しています。私はまた、ライブ環境への私の要求を代理するプロキシを使用しています。webpack dev server:TypeError:ヘッダーの内容に無効な文字が含まれています

アプリケーションは以前はノードv4.3.2を使用して問題なく実行されていましたが、アプリケーションは正常に実行され、正しくプロキシされました。今日のノードをバージョン7.0.0にアップグレードしたので、es6のサポートを増やすことができました。今のアプリを実行しているとき、私は私のすべての要求のために、次のエラーが表示されます。

webpack: bundle is now VALID. 
_http_outgoing.js:360 
throw new TypeError('The header content contains invalid characters'); 
^ 

TypeError: The header content contains invalid characters 
at ServerResponse.setHeader (_http_outgoing.js:360:11) 
at /home/jason/dev/frontend-tsm-holiday-results/node_modules/http-  proxy/lib/http-proxy/passes/web-outgoing.js:96:13 
at Array.forEach (native) 
at Array.writeHeaders (/home/jason/dev/frontend-tsm-holiday-results/node_modules/http-proxy/lib/http-proxy/passes/web-outgoing.js:90:35) 
at ClientRequest.<anonymous> (/home/jason/dev/frontend-tsm-holiday-results/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js:157:20) 
at emitOne (events.js:96:13) 
at ClientRequest.emit (events.js:188:7) 
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:473:21) 
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23) 
at TLSSocket.socketOnData (_http_client.js:362:20) 
at emitOne (events.js:96:13) 
at TLSSocket.emit (events.js:188:7) 
at readableAddChunk (_stream_readable.js:176:18) 
at TLSSocket.Readable.push (_stream_readable.js:134:10) 
at TLSWrap.onread (net.js:551:20) 

私の周りグーグルを持っていたし、この問題のいくつかの参照を発見したが、私はエラーがどこから来ていることを確認していないとどうして?それはhttp_proxyの問題であるようですが、どのモジュールから来ているのかわかりません。

WebPACKのための私のNPM構成は次のとおりです。DEVのENVでこれを修正する

"webpack": "^1.13.2", 
"webpack-dev-middleware": "^1.6.1", 
"webpack-dev-server": "^1.14.1", 
"webpack-fail-plugin": "^1.0.5", 
"webpack-hot-middleware": "^2.12.2", 
"webpack-merge": "^0.14.1" 

答えて

0

簡単な方法は、実際のnode_modules/http-proxy/lib/http-proxy/passes/web-outgoing.jsを編集し、

ようなもので

res.setHeader(String(key).trim(), header); 

ラインを交換することです

 try { 
     res.setHeader(String(key).trim(), header); 
     } catch (err) { 
      console.log(key, header); 
     } 

適切な修正は、tから無効な文字の送信を停止することですあなたが代理しているサーバー、またはWebPack 2.xにアップグレードすることができます。

関連する問題