web-dev-qa-db-ja.com

Webpack開発サーバープロキシにCookieを追加できますか?

Webpack開発サーバー内にプロキシをセットアップしようとしています。問題は、接続しているサーバーを制御しておらず、リクエストを認証する必要があることです。

プロキシサーバーに送信するリクエストにCookieを追加する方法はありますか? webpack dev server proxy server page と、それがリンクしている node-http-proxy ページを調べましたが、Cookieについての言及はありません。また、これらの転送された要求を確認する方法があるかどうかもわからないので、試行していることが何かを行っているかどうかはわかりません。

何か案は?

16
fnsjdnfksjdb

これをさらに調べたところ、開発サーバーは送信したCookieを転送するだけのようです。私がやろうとしていた認証ではうまくいかなかった、Amazonには説明できないほどのセキュリティが備わっていると思うが、それが答えである。

開発サーバーに送信するリクエストにCookieを追加し、プロキシを適切に設定します。

1
fnsjdnfksjdb

プロキシのCookieドメインのみを書き換える必要がある場合は、node-http-proxyのオプションcookieDomainRewriteを確認してください。

さらに、リクエスト/レスポンスのCookieの周囲にカスタム動作を挿入する方法を見つけたい場合は、以下にフックできるイベントを確認してください。

proxy.on('proxyRes', function (proxyRes, req, res) {
    console.log('RAW Response from the target',JSON.stringify(proxyRes.headers, true, 2));
});


proxy.on('proxyReq', function (proxyRes, req, res) {
    console.log('RAW Request from the target',JSON.stringify(proxyReq.headers, true, 2));
});

https://github.com/nodejitsu/node-http-proxy#listening-for-proxy-events

これらのオプションは、次のようにdevServerプロキシのwebpack.config.jsに追加できます。

{
    devServer: {
        proxy: {
            onProxyReq: function(proxyReq, req, res){
                proxyReq.setHeader('x-added', 'foobar');
            },
            cookieDomainRewrite: ""
        }
    }
}

https://github.com/chimurai/http-proxy-middleware#http-proxy-events

5
Leon Gibat