問題タブ [node-http-proxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - expressjsでnode-http-proxyを使用するとエラーが発生します
node-http-proxyの最後のバージョンが機能していません(これは以前のバージョンでは機能していました)。Node.jsのバージョンは0.6.12、node-http-proxyのバージョンは0.8.0です。基本的に、ポート10000でリッスンしているサーバーと、ポート5000でリッスンしているサーバーがあります。/apiで始まるすべてのリクエストをこの最後の人にプロキシしたいと思います(このプレフィックスを削除した後)。
私のコードは次のとおりです。
静的ファイルは正しく提供されますが、プロキシ関連のものに関しては、次のエラーが発生しました。
要求どおりにターゲットを追加しましたが、それでも同じエラーが発生します。
node.js - node-http-proxy を socket.io で動作させるには?
node-http-proxy を使用してトラフィックをポート 3000 (私の rails サーバー) とポート 8888 (私の nodejs socket.io サーバー) に転送しようとしています。node-http-proxy を使用して、ポート 80 にあるリバース プロキシとして機能しています。
(node-http-proxy から README をコピーするだけです)
そして、これはブラウザ上の client.js です。
どういうわけか、io.connect は nodejs サーバーに接続できません。io.connect から次の応答を受け取りました。
nodejsサーバーに接続するためにio.connectを取得する方法はありますか? io.connect をトリガーして server.upgrade ブロックにアクセスする方法がわかりません。
ありがとう !
node.js - ノードを使用したプロキシhttpリクエスト
あるドメインにnodeJsフロントエンドがあり、別のドメインに残りのバックエンドサーバーがあります。
前から後ろにajaxリクエストを実行できるようにしたいと思います。したがって、同一生成元ポリシーの制限を回避するために、そのためにリバースプロキシを使用するつもりです。
バックエンドのRESTサーバーは基本認証またはOAuthで保護されます。node-http-proxyを使用する場合、プロキシする前にhttpリクエストでAuthorizationヘッダーを送信できるかどうか、およびその方法を知りたいです。
どうもありがとう。
javascript - node-http-proxy を介した Cookie ベースのセッションの永続化
JavaScript アプリケーションの開発に使用している単純な Express ベースの Node.js Web サーバーがあります。node-http-proxy を使用して、アプリケーションが作成する API リクエストを別のドメインとポートで実行されている Jetty サーバーにプロキシするようにサーバーをセットアップしました。セッション管理で問題が発生し始めるまで、このセットアップは問題なく機能していました。
認証時に、アプリケーション サーバーは、サーバー セッションを表す認証トークンを含む Cookie を返します。ファイルシステム (file://) から JS アプリケーションを実行すると、クライアントが Cookie を受信すると、それが後続のすべての API 要求で送信されることがわかります。ノード サーバーで JS アプリを実行し、API 呼び出しが node-http-proxy (RoutingProxy) を介してプロキシされると、要求ヘッダーに Cookie が含まれません。
プロキシを介したこのタイプのセッション永続性をサポートするために手動で処理する必要があるものはありますか? 私は node-http-proxy コードを掘り下げてきましたが、Node.js を初めて使用するため、少し理解できません。
node.js - サブドメイン間のセッション永続性
私は 2 つのサブドメインを持っapi.abc.com
ていbeta.abc.com
ます。両方とも同じサーバー (ボックス)上にあり、api.abc.com
ポートで実行されて4000
おり、beta.abc.com
で実行されてい5000
ます。node-htty-proxy
また、リクエストのリバース プロキシにも使用しています。beta.abc.com
静的コンテンツのみを提供するために使用されapi.abc.com
、json で応答を返します。
ユーザー認証は、サーバー (api) 側で facebook oauth を介して行われます。それが完了すると、セッションが作成され、ユーザーはベータ版にリダイレクトされます。ここで私が抱えている問題は、セッションを持続できないことです! Cookie obj にドメイン オプションを指定しようとしましたが (他の質問で見たように)、それでもうまくいきませんでした。
どうすればいいですか?私は何か間違ったことをしていますか?
ここで非常によく似た質問を見つけました。
node.js - node-http-proxy の forward と router の組み合わせ
1 つの AWS インスタンスで複数の Node アプリをホストしています。仮想ホストで Apache を使用していますが、Node.js のみを使用したいと考えています。node-http-proxy はタスクを実行するように見えますが、転送をプロキシ テーブルで動作させることができません。
プロキシテーブルがどのように機能するかは次のとおりです。
インスタンスで app1 と app2 を実行し、それぞれ 7100 と 15110 をリッスンしていますが、ルーター オプションを使用するだけでは転送できません。
次を使用して、転送するものを1つだけ取得できます。
両方の利点を得る方法はありますか?ドキュメントには、オプションを介して「転送」と「ルーター」の両方を渡すことができると書かれていますが、その方法は明確ではありません。
node.js - node-http-proxyルーターテーブルのワイルドカード
node-http-proxyのrouterテーブルでワイルドカードを使用する方法を誰かに教えてもらえますか?
たとえば、ワイルドカードサブドメインの場合、*。domain.deのよう
になります。正規表現が使用されていることはわかっていますが、機能させることができません。
私はのように試しました
と
しかし、リダイレクトするものはないようです。
javascript - 1 つのポートで 1 つのアプリを使用するノード アプリに node-http-proxy などのプロキシ サーバーを使用するポイントは何ですか?
node-http-proxyプロキシ サーバーを使用して、ポート 80 のプロキシ サーバーからポート 8000 のアプリ サーバーにリクエストを転送できるようにする方法を検討しています。 、そしてこのセットアップがセキュリティ面から保護するものは何ですか。
note-http-proxy のドキュメントでは、複数のポートまたは IP アドレスを持つアプリにリクエストを転送する方法としてそれを使用することについて多くのことが説明されています。これは、特に基本的なラウンド ロビン ロード バランサー戦略では非常に便利です。ただし、1 つのポートに 1 つのアプリしかないため、これを行う必要はありません。
このプロキシ サーバーを使用する重要なセキュリティ上の理由がある場合は、どのような種類の攻撃から保護されるかを知りたいです。また、socket.io を使用しているので、プロキシが websocket サーバーのスケールアップに役立つことがあれば、それも理解したいと思います。(1024 未満のすべてのポートはルート アクセスを必要とするため)アプリを実行する方法を理解するのに苦労しているsudo
ため、この時点でプロキシ サーバーを使用する十分な理由がない場合は、破棄します。root アクセスなしでポート 80 のプロキシ サーバーを使用してこのアプリを実行する方法を知っている人がいれば、それも非常に役立ちます。ありがとう!
node.js - node-http-proxyを使用したデフォルトルート?
単純なnode.jsリバースプロキシを実行して、同じポート80で複数のNode.JSアプリケーションとApacheサーバーをホストしたいので、この例をここで見つけました
問題は、たとえばapp1.my-domain.comがlocalhost:3001を指し、app2.my-domain.comがlocalhost:3002を指し、他のすべてがポート3000に移動するようにしたいことです。実行されます。「デフォルト」ルートの設定方法に関するドキュメントには何も見つかりませんでした。
何か案は?
編集Apacheサーバーによって処理されるドメイン/サブドメインがたくさんあり、新しいサブドメインを追加するたびにこのルーティングテーブルを変更する必要がないため、これを実行したいと思います。