2017-03-28 25 views
0

私はフロントエンドとnodejsバックエンドの 'angular2-webpack-starter'プロジェクトをホストするサーバーをセットアップしました。 nginxのデフォルトでは、サーバー上の適切な場所への接続をマップする2つのproxy_passがあります。 ALMOSTはすべて正常に動作しますが、sockjs-node/infoのプロキシには本当に驚いています。実行している場合httpsドメインのNGINX proxy_passを持つWebpack Dev Server原因:net :: ERR_CONNECTION_CLOSED

は、私が参照してください。

zone.js:1960 GET https://localhost:3000/sockjs-node/info?t=1490740454197 net::ERR_CONNECTION_CLOSED 

2つのプロキシは、次のとおりです。

location ^~ /server/ { 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host  $host; 
    proxy_set_header X-NginX-Proxy true; 
    proxy_pass https://127.0.0.1:9000/; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    } 

    location ^~/{ 
    #proxy_buffering off; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host  $host; 
    proxy_set_header X-NginX-Proxy true; 
    proxy_pass http://127.0.0.1:3000/; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    } 

私は無駄に、この問題へのserveral他の回答の上に見てきました。フロントエンドにcorsを追加しようとしましたが意味がありません。これは効果がありません。私はproxy_bufferingを無効にしてみました(私が期待したように)。私は 'underscored_in_headers on'を追加しました。 nginxで、無駄に。

他の人はwebpack-dev-serverを使ってプロキシをやっていますが、これはnginxが簡単に処理するはずですが、webpack-dev-serverなしでプロダクションに移行すると同じ問題が発生します。

この問題が発生した場合や考えがある場合は、お手数をおかけしますようお願い申し上げます。

答えて

0

かなりの時間がかかりましたが、私は問題を理解しました。開発中にセキュリティで保護されたサイトで実行しようとすると、他の人が役立つことがあります。

issueはproxy_pass to 'http://127.0.0.1:3000/'でした。これにより問題が発生します。変更

proxy_pass https://127.0.0.1:3000/

ANDにwebpack.dev.jsでdevServerを設定:

https: true, 
    https: { 
    key: fs.readFileSync('/etc/apache2/certwork/xxx.key'), 
    cert: fs.readFileSync('/etc/apache2/certwork/xxx.crt'), 
    ca: fs.readFileSync('/etc/apache2/certwork/ssl-bundle.crt') 
    }, 

は、問題を解決しました。注:https:trueで十分ですが、接続を可能な限り受け入れるようにしたいので、私はキー、証明書、caを追加しました。

あなたはまだ表示されます。

enter image description here

そして、私の場合:

enter image description here

'https://localhost:3000' への接続がまだドメイン名とのミスマッチを持っているので。 IE。 localhost!== parke.dynazu.com。しかし、すべて動作しており、webpack-dev-serverから離れると、これは問題にはなりません。

関連する問題