• 認証情報は proxy のURLに http://ユーザー名:パスワード@example.com の形式で含めて書く。
  • auth に書くのは、あくまでアクセス先URLの認証情報。
  • アクセス先のURL: http://example.com
  • プロキシURL: http://111.111.111.111:8080
  • プロキシのBasic認証ユーザー: pxuser
  • プロキシのBasic認証パスワード: pxpass

だとして……。

↓のように auth に認証ユーザーとパスワードを書いてて、動かなくてしばらく悩んでた……。

×間違い
request({
	url: 'http://example.com',
	method: 'GET',
	proxy: 'http://111.111.111.111:8080',
	auth: {
		user: 'pxuser',
		password: 'pxpaxx',
	},
}, errorHandler);

でも本当は↓のように、プロキシのURLに認証情報を書かないとダメだった。

○正解
request({
	url: 'http://example.com',
	method: 'GET',
	proxy: 'http://pxuser:pxpass@111.111.111.111:8080',
}, errorHandler);

くだらーん!


これが分かったのは、Squidで立てたBasic認証つきプロキシサーバーをrequestで経由させたら、何度やっても「Cache Access Denied.」になってしまったからだ。

でも、以前にNginxで立てたBasic認証付きプロキシは、間違いの方でも通ってたはずなんだけど……。

立て方がおかしかったのかな??