問題タブ [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.

0 投票する
1 に答える
2476 参照

node.js - node-http-proxy で 302 リダイレクトを行うにはどうすればよいですか?

私のコード:

ブラウザからリクエストを行うと、次のエラーが表示されます。

このエラーの意味がわかりません。誰でもこれを理解するのを手伝ってもらえますか?

0 投票する
1 に答える
1362 参照

node.js - Node.js: プロキシから etherpad への URL 書き換えに高速ルートを使用する

スタックオーバーフローに関する私の最初の質問;)。


私がやろうとしていること: 高速ルート「/pad/*」を使用して、etherpads (etherpad lite) を表示し、ユーザーに表示されるパッドを操作したいと考えています。したがって、「/pad/p/something」を取得すると、「something」が処理され、実際の ID (「XYZ」など) に応じて変更されます。したがって、ユーザーは正しいパッドを編集できます。ただし、etherpad には多くの静的なものと websocket が必要なため、必要に応じてプロキシし、ID を操作したいと考えています。


最小限の作業例: もちろん、ID 変更の実際のロジックははるかに複雑ですが、最小限の作業例では、すべてのパッド ID が "a" にマップされるロジックを使用します。

私はこれを思いついた:


問題: URL が変更され、プロキシが実際に機能する ... のようなもの。すべての URL は、パッド、静的なもの、および Websocket で機能するすべての URL の先頭にある「/pad」を削除するようにマップされます。しかし、パッド ID のマッピングは機能しません。「localhost:3000/pad/p/a」を見ると、「a」パッドが見えます。「localhost:3000/pad/p/b」を見ると、「b」パッドが表示されますが、これは私が意図したものではありません:/。

私は何を間違っていますか?これは node-http-proxy、express、または etterpad-lite の問題ですか?

どんなヒントでも大歓迎です

0 投票する
0 に答える
1462 参照

angularjs - クロスドメインで Cookie が設定されていない

angularjs コードバ アプリを作成しています。ログインするには、別のドメインに対して最初のリクエストを実行する必要があり、応答には、ログインするために設定する必要がある Cookie を含む/loginというエントリが含まれます。cookie

問題は、私がionic serve(私のブラウザで) 開発しているとき、CORS と呼ばれるひどいものがあることです。また、接続したい他のサイトでは CORS が許可されていないためnode-http-proxy、リクエストをプロキシして CORS ヘッダーを追加する を使用してプロキシを使用することを余儀なくされました。次に、他の Web サイトに接続する必要があるときに、プロキシで要求を行いました。ただし、前に説明したようにログインする必要があります。

したがって、このコードをプロキシに配置して、/loginルートの応答を解析し、Cookie を単純に抽出します。

今私が到達したとき、私/loginは見る
cookie found: 1gmriba47wlc4ow4k88k8o8044gskso8sc4s0c8k40gcs44g8og40c8sks00so8og

何らかの理由で、最初のリクエストでは Cookie が設定されません。そのため、他のサーバーのどこかで最初のリクエストを行います (常にプロキシ経由)。

応答ヘッダーには

そしてクロムはそれを検出します。しかし、URLへのリクエストを行いたい場合、ログインする必要があり、リクエストでもレスポンスでもなく、Cookieはありません:(

これは、私が角度でそれを行う方法です:

完全なプロキシ ファイルはこちら: https://gist.github.com/vinz243/fd01b77ef309101976a5

私がはっきりしていたことを願っています。

0 投票する
0 に答える
437 参照

node.js - http-proxyでターゲットサーバーがダウンしたことを検出する方法は?

Windows マシンで実行している内部ノード Express サーバー用に、インターネットに面したサーバーを作成しようとしています。この目的のために、ポートが開いた仮想UNIXボックスがあり、http-proxyを使用して、リクエストを内部サーバーにリダイレクトするプロキシサーバーを作成しています。

内部サーバーがダウンしている場合、ユーザーにカスタム HTML ページを表示したいと考えています。仮想UNIXボックスで次のコード(関連部分)を実行しています:

上記のコードは、Windows マシンで実行すると正常に動作します。何らかの理由で、UNIX ボックスで実行すると機能しません。なぜこれが起こっているのかを理解するのを手伝ってくれる人はいますか? ターゲット サーバーが http-proxy でダウンしたことを検出する別の手段を提供できれば幸いです。

追加情報が必要な場合はお知らせください。

0 投票する
4 に答える
5799 参照

node.js - nodejs で、http-proxy にクエリ文字列パラメータを通過するリクエストを転送させようとしています

nodejs でクエリ文字列パラメーターを使用してリクエストをプロキシするにはどうすればよいですか? 現在 Express と http-proxy を使用していますか?

Express と http-proxy モジュールを使用して、HTTP GET リクエストを私の側の特定のパスから、同じサーバー上で実行されているが別のポートで実行されているサードパーティの API にプロキシする nodejs アプリケーションがあります (したがって、同じオリジンの問題が発生し、プロキシー)。これは、クエリ文字列パラメーター、つまり「?name=value」を使用してバックエンド API で REST 関数を呼び出すまでは正常に機能します。その後、404 を取得します。

Chrome のコンソールには次のように表示されます。

注: 私は後でエクスプレスで他のものを使用しますが、プロキシ行の前ではなく、パスをルーティングするときに、より具体的なものからより一般的なものに移行します。バックエンドは、ブラウザで同じプロトコル://url:port/path?name=value を使用して問題なく直接アクセスできます。