問題タブ [haproxy]
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.
express - Haproxy がパスと一致しない (express.js & Socket.IO を使用)
私の設定ファイル:
私が知る限り、 www_backend はすべてに一致します。私の Web アプリがhttp://myapp.com/socket.io/1/?t=1335831853491を要求すると、404 が返され、ヘッダーには Express からの応答が表示されます。奇妙なことに、curl -I http://myapp.com/socket.io/1/?t=1335831853491を実行すると、次のように返されます。
sudo netstat -lptu を実行すると、socket.io プロセスがポート 5000 で実行されていることを確認できます。
haproxy - Haproxy は www を非 www にリダイレクトします
私は現在、複数の Express.js ノードのバランスを取るために Haproxy を使用しています。Express.js を使用してリダイレクトできることはわかっていますが、Haproxy でリダイレクトしたいと考えていました。
www.mysite.com から mysite.com への永続的なリダイレクトを行うにはどうすればよいでしょうか?
node.js - redisスレーブ用のHAproxy
現在、node_redisクライアントを使用してredisにアクセスしています。私の場合は3つのnosであるredisスレーブの前でHAProxyを使用する必要があります。HAProxyをインストールし、redisスレーブの負荷を分散するように構成しました。しかし、node_redisクライアントからHAProxyへの接続を作成しようとすると、接続を作成できず、エラーが発生していました
haproxy - HA Proxyは10分後にTCPソケットを閉じますか?
ホットフェイルオーバーのために、アプリの前でHAProxyの実験を開始しました。Webクライアントをサーバーに開いてから約10分後にWebSocketが閉じていることに気付きました。
WebSocketを開いたままにするためにタイムアウトを無効にするにはどうすればよいですか?両方のボックスが実際に常に稼働していることを確認できます。ありがとう。
java - rabbitmq 用に HAProxy を構成する
HAProxy をロードバランサーとして使用したい。haproxy の背後に 2 つの rabbitmq サーバーを配置したいと考えています。両方の rabbitmq サーバーは、EC2 の異なるインスタンス上にあります。このリファレンスに従って HAProxy サーバーを構成しました。私は動作しますが、問題はメッセージがラウンドロビン パターンで公開されないことです。メッセージは 1 つのサーバーでのみ公開されます。私の要件に別の構成はありますか?
/etc/haproxy/haproxy.cfg の私の構成
アップデート:
これについていくつかの研究開発を行ったところ、HAProxy が rabbitmq サーバー上の接続でラウンド ロビンであることがわかりました。例: 10 の接続を要求すると、2 つの rabbitmq サーバーを介して 10 の接続をラウンドロビンし、メッセージを公開します。
しかし、問題は、HAProxy サーバーによって管理されるべき接続ではなく、メッセージをラウンドロビンしたいことです。つまり、一度に 1000 メッセージを HAProxy に送信すると、500 メッセージがウサギ サーバー 1 に送信され、500 メッセージがウサギ サーバー 2 に送信されます。私が従わなければならない構成は何ですか?
アップデート:
バランシングで leastconn もテストしましたが、HAProxy の動作は予期しないものでした。その質問をserverfault.comに投稿しました
python - Haproxysocket.iowebsocketプロキシは常に長いポーリングにフォールバックします
ねえ私はsocket.ioからHaproxyプロキシWebSocket接続を取得しようとしています
私はグーグルで見つけることができるほとんどすべてを読み、haproxy.cfgの無数のバリエーションを試しましたが、何を試しても、socket.ioは常に長いポーリングにフォールバックします。
使用しているソケットサーバーに接続を直接ルーティングすると、ws接続が完全に機能することを言及する価値があります。
したがって、socket.ioクライアントとtornadotornadio2websocketサーバーを使用しています。ここから取得した現在のhaproxy.cfghaproxyexample conf
websocketリクエストはsocket_backend_httpに正しくルーティングされていますが、ブラウザコンソールには常に次のエラーが表示されます
次に、socket.ioは、短時間のメッセージが期待どおりに表示された後、ロングポーリングにフォールバックします。最新バージョンのchrome、safari、firefoxを使用してテストしたところ、すべて同じ結果になりました
私は非常に多くの人々がこれが私を失望させるように働いていると言うのを見てきました!この問題をなんとか解決してくれた人には、永遠に感謝します。
ここでも、haproxyがポット80にバインドされていることを明確にするために、nginxはポート81で実行され、ソケットサーバーはポート3012で実行されています。コード
前もって感謝します
現在のhaproxy.cfgを編集 すると、トルネードサーバーでこのエラーが実際に発生します。
アップデート
さて、いくつかのさらなる開発。stunnelを使用して、少し異なる設定でこれを機能させることができました。そのため、nginxはhttpリクエストをhttpsに再ルーティングし、そこでピックアップされ、ssl接続はstunnelによって終了されます。その後、ポート8443でリクエストが転送され、haproxyがピックアップされます。ソケットハンドシェイクが行われ、すべてが期待どおりに機能します。これは素晴らしいことですが、httpではなくsslで機能する理由を教えてくれる人が大好きです。
https - 複数の https サイトを持つ HAproxy
ロード バランサーの背後で実行されている 2 つの http サイト (ハートビートを使用したフェールオーバー機能あり) と 1 つの https サイトがあります。すべて正常に動作していますが、別の https サイトを追加したいと考えています。複数の https サイトをホストするための参照が見つかりませんでした。
HAproxy を使用して複数の https サイトをホストした人はいますか? どうすればこれを達成できるか教えてください。plsはあなたの入力を手伝ってくれます.
ありがとう、
サントッシュ
python - Sentry + Raven、HTTPエラー401:未承認
私はSentryアプリケーションを持っており、URL:mydomain.com:11011で正しく実行されています。
CDNで作成されたプロジェクトがあります:http:// XXX:YYY@mydomain.com:11011 / 2
このURLは、次の構成でHAProxyとともに提供されます。
歩哨の構成:
しかし、同じサーバーからRavenテストを試してみると、認証に問題があります。
また失敗します:
何が問題なのですか?ありがとう。
proxy - HAProxyを使用してTornadoアプリへのWebSocket接続の負荷を分散しますか?
私は、websocket ハンドラーを使用する Tornado アプリに取り組んでいます。Supervisord を使用してアプリの複数のインスタンスを実行していますが、websocket 接続の負荷分散に問題があります。
nginx がすぐに使用できる Websocket の処理をサポートしていないことはわかっていますが、こちらの指示に従いましたhttp://www.letseehere.com/reverse-proxy-web-socketsで、nginx tcp_proxy モジュールを使用してプロキシ Websocket 接続をリバースします。ただし、モジュールは websocket の URL をルーティングできないため (例: ws://localhost:80/something)、これは機能しませんでした。そのため、Tornado アプリで定義した URL ルートでは機能しません。
Web に関する私の調査から、HAProxy は WebSocket 接続の負荷を分散する方法のようです。ただし、Websocket 接続の負荷を分散し、Websocket URL ルートを処理できるように HAProxy をセットアップするための適切なガイダンスを見つけるのに苦労しています。
これを実現する方法についての詳細な指示をいただければ幸いです。また、他のソリューションにも完全にオープンです。