質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

14026閲覧

node.jsでproxy経由の外部アクセスをするには?

panda_bk

総合スコア99

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2015/09/15 13:50

編集2015/09/15 14:28

Node.js初心者です。

以下の様なコードでproxyサーバー経由で外部サイトにアクセスしようとしているのですが、どうもうまく行きません。(TIMEDOUTエラーとなります。)
何か間違っていますでしょうか?
イントラネット内のURLに対して以下のコードを実行すると問題なくレスポンスが返る為、以下コードのproxy関連以外については問題はないものと考えています。
shellでexport http_proxy=xxxを設定してwgetすると普通にレスポンスが返る為、外部サイトやOS自体に問題はないと考えています。

実行OS: CentOS6
Node.js: v0.12.x

javascript

1#!/usr/local/bin/node 2process.env.http_proxy = 'http://127.0.0.1:8080' 3var http = require('http'); 4 5// check arguments 6if (process.argv.length < 3) { 7 process.exit(-1); 8} 9var targetUrl = process.argv[2] 10 11// send request 12var req = http.get(targetUrl, function(res) { 13 // output response body 14 res.setEncoding('utf8'); 15 res.on('data', function(str) { 16 console.log(str); 17 }); 18}); 19 20// error handler 21req.on('error', function(err) { 22 console.log("Error: " + err.message); 23});

また、後々はaws-sdk(javascript)を用いてAWSに接続する必要があるので、出来ればコード内でなく設定ファイル等にproxy設定を書きたいのですが、Node.jsまたはaws-sdkで実現する手段はありますでしょうか?
~/.aws/credentialsに書けると嬉しいのですが…。
※fluctというツールを使いたいと思っており、そいつがaws-sdkに依存しているという状態の為、fluct自体を弄らずに(コードを変更せずに)proxy設定する方法を探しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

node.js の http モジュールは次のようにプロキシを使うようです。

http://stackoverflow.com/questions/3862813/how-can-i-use-an-http-proxy-with-node-js-http-client

aws-sdk は次のようにプロキシを設定するようです。

http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-configuring.html#Configuring_a_Proxy

投稿2015/09/15 14:19

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

panda_bk

2015/09/15 14:26

早々に回答頂き有り難うございます。 なるほど、httpモジュールでのやり方を誤っていたのかも知れません。 明日、ご教示頂いたやり方で再トライしてみます。 aws-sdkについてはやはりコード上で設定する方法しか提示されてないのですよね…。 実は、fluctというツールを使いたくて、そいつがaws-sdkに依存しているという状態なので、fluct自体を弄らずにproxy指定する手法を探していたりします。
panda_bk

2015/09/17 14:06

ご教示頂いた方法で問題なく実現できました! 有り難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問