webpack-dev-serverでproxy先のBasic認証情報も送る
webpack-dev-serverはproxyでhttp-proxy-middlewareというパッケージを使っているようで、そこにあるauthプロパティに設定するとBasic認証の情報を送ることができるようです。
テストリポジトリ
code:webpack.comfig.js
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'https://hogehoge.com',
// ここにユーザ名:パスワードをいれる
auth: 'user:password',
changeOrigin: true,
},
},
},
};
ちなみに
Basic認証の情報を入れないままproxyをしてもユーザ名とパスワードは聞かれるので動作することはできます。(間違った場合でも聞かれます)
ただドメインはローカルホストなので他のポートでも同じようなことをすると適切なBasic認証情報を渡すことができず、毎回入力する羽目になるかもしれません。。。
https://gyazo.com/8e567d1d872944b06833e9a45b02d2cd
参考
DevServer | webpack
chimurai/http-proxy-middleware: The one-liner node.js http-proxy middleware for connect, express and browser-sync
TJ.icon 質問
これは何のためですか?
自分の認識は devServer は開発ため。開発時、認証が邪魔ではないか?
onuma.icon
なんか言い方が悪そうですね。。。
devServer自体がBasic認証をするのではなく、proxy先のサーバーがBasic認証になっている時に、一々認証しなくても事前にauthのところに入れておけますよという話です!
TJ.icon
なるほど、この設定があれば、認証しなくでもサーバー繋がるの意味ですね。
了解しました、ありがとうございます。
#proxy
#webpack-dev-server #webpack
Created by onuma