問題タブ [ajp]

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 投票する
3 に答える
37417 参照

apache - ProxyPass、ProxyReverseとAJP

現在、Javaサーブレットを提供するためのTomcat +ApacheHTTPサーバー設定があります。

クライアントのIPアドレスを知る必要があることを除いて、これはすべて問題myserviceありません。クライアントのIPアドレスは、プロキシのために常に127.0.0.1であることがわかります。実際のIPアドレスを取得するための解決策はありますか?AJPはオプションですか?

0 投票する
3 に答える
10100 参照

jboss - Apache error_log の 503 エラーの原因と修正方法: "Broken pipe: ajp_ilink_send(): send failed"

JBoss で実行されているサーブレットで断続的な問題が発生し、Apache が mod_proxy_ajp.so を介してすべてのリクエストを転送します。

REST 要求の場合、Apache から 503 エラーが発生することがあります。これが発生すると、Apache error_log に次のように記録されます。

数回失敗した後、再び機能し始めます。

私はいくつかをグーグルで検索しましたが、問題に遭遇したのは私だけではないことがわかりました。私が見つけた唯一の解決策は、JBoss の後に Apache が開始されていることを確認することです (JBoss の再起動後に Apache を再起動します)。

この問題の奇妙な点は、この JBoss で実行されている他のサーブレットがあり、そこに問題がないことです。

サーブレットは CXF JAX-RS ベースです。

アパッチは 2.2.6 です。

0 投票する
2 に答える
2162 参照

ajp - AJPは十分に安全ですか?

ホスティングサービスでjavarichfaces/hibernateアプリをホストする必要があります。セキュリティ部門の要件として、そのアプリケーションから内部データベースへの接続を確立することはできません。提案された解決策の1つは、内部Webサービスを作成することでしたが、すべてのデータベース層を変更するのは困難です。代わりにAJPを使いたいです。それは十分に安全ですか?

[編集]これを尋ねると、Apache httpdがhttpsを提供し、AJPをラップして内部サーバー内に移動することで、チャネルを監視できますか(プレーンテキスト)?プロトコル自体のドキュメントが見つかりません。

0 投票する
2 に答える
3569 参照

apache - https による Apache ウェブサーバーと JBoss AJP 接続

JBoss で実行される Java EE アプリケーションをホストしています。セキュリティ上の理由から、インターネット上で利用できるはずのこのアプリケーションは、フロントエンドの Apache サーバーで保護されています。これを可能にするために AJP を使用しています。

これは、http 経由でアプリケーションにアクセスする場合に正常に機能します。https でこれを実行しようとすると、うまくいきません。Java EE アプリケーションにアクセスすると、404 エラーが発生します。SSL 証明書を Apache サーバーに配置しました。

0 投票する
2 に答える
18197 参照

tomcat - TomcatでAJPパケットサイズを設定するには?

AJP で maxPacketSize を設定するには、こちらの手順に従いました...

AJP コネクタ ドキュメント

ドキュメントには、「Tomcat 側で AJP コネクタの packetSize 属性も変更する必要があります。属性 packetSize は、Tomcat 5.5.20+ および 6.0.2+ でのみ使用できます」と記載されています。

私はそれを変更する方法がわかりません!

このドキュメントでは、Tomcat での変更について説明していますが、実際に変更する必要がある場所 (プロパティ ファイル/構成ファイルなど) がわかりません。

Tomcat AJP コネクタ

誰でも私に手がかりを教えてもらえますか?

ありがとう!

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

apache - Tomcatキープアライブの混乱へのApacheプロキシ

Tomcat 6 サーバーの前に Apache 2.2 サーバーがあります。apache で mod_proxy_ajp を使用して、リクエストを tomcat にプロキシします。かなり標準的なセットアップ。

ブラウザのキープアライブ接続を無効にする必要がある場合、どうすればよいですか?

キープアライブ http リクエストを無効にする必要があるのは、一部のユーザーが非アクティブなキープアライブ接続をドロップし、ランダムに問題を引き起こす可能性があるファイアウォールを持っていると思われるためです。

apache と tomcat の両方に、さまざまな「キープ アライブ」の設定があります。

httpd.conf には「KeepAlive Off」があります(私の場合、違いはないようです)

また、ProxyPass を設定する httpd.conf では、パラメータ「キープアライブ」を使用できますが、これは、Apache と Tomcat の間にプロキシ/ファイアウォールがある場合にのみ役立つはずです。これは、私の場合には存在せず、問題ではありません。 .

Tomcat 自体、http コネクタには「keepAliveTimeout」と「maxKeepAliveRequests」がありますが、これは http コネクタ専用です。

tomcat ajp コネクタにも「keepAliveTimeout」がありますが、これは apache からの ajp リクエスト用であり、ブラウザから apache への実際の HTTP リクエストにフローするかどうかは不明です。

さらに、HTTP1.0 と HTTP1.1 の違いもあります。

混乱します....誰か説明してもらえますか?

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

apache - 環境変数をバックエンドに渡すように mod_proxy_ajp を納得させるにはどうすればよいですか?

mod_proxyバックエンドと ajp-wsgi アプリ サーバーでApache を使用しようとしていますが、アプリケーション サーバーに変数をAJP送信していないようです。SetEnv

構成スニペット:

環境変数を Apache 構成からアプリ サーバーに渡すにはどうすればよいですか?

0 投票する
7 に答える
14822 参照

java - AJP(mod_jk)を使用するJBOSSを使用したApacheにより、スレッド数が急増します

アプリケーションをホストするためにJBOSSでApacheを使用しましたが、mod_jkのスレッド処理に関連するいくつかの問題が見つかりました。

当社のWebサイトは、トラフィックの少ないWebサイトに分類され、Webサイトのピークアクティビティ時間中に最大200〜300人の同時ユーザーがいます。トラフィックが増えると(同時ユーザーではなく、サーバーに到着した累積リクエストの観点から)、サーバーはクラッシュしませんでしたが、20分までリクエストを処理できませんでしたが、リクエストの処理を長時間停止しました。JBOSSサーバーコンソールは、1〜1.5 GBを超える十分な空きメモリがあるにもかかわらず、両方のサーバーで350スレッドがビジーであることを示しました(64ビットのJBOSS用に2つのサーバーが使用され、4 GBのRAMがJBOSSに割り当てられました)

問題を確認するために、JBOSSとApache Webコンソールを使用しており、ページが提供されるまでに約4〜5秒かかりますが、スレッドがS状態で数分間表示されていることを確認しました。

スレッドダンプを取得したところ、スレッドはほとんどWAITING状態であり、無期限に待機していることがわかりました。これらのスレッドは、アプリケーションクラスではなく、AJP8009ポートのものでした。

他の誰かがこの問題を取得して何らかの方法で解決した可能性があるため、誰かがこれで私を助けてくれますか?さらに情報が必要な場合は、私に知らせてください。

また、mod_proxyはmod_jkを使用するよりも優れていますか、またはmod__proxyに切り替えると致命的となる可能性のある、mod_proxyに関する他の問題がありますか?

私が使用したバージョンは次のとおりです。

助けてくれてありがとう。

彼ら!!!!最終的に、上記の構成で回避策を見つけました。これはAPRの使用であり、ここで言及されています:http: //community.jboss.org/thread/153737。以下の回答で多くの人が正しく言及しているその問題、すなわちコネクタの問題。以前は、休止状態を構成して応答時間を長くすることで一時的な回避策を作成しました。完全な修正はAPRです。

0 投票する
2 に答える
4236 参照

java - Tomcat の数百の AJP スレッドの原因を特定する

2 台の Tomcat 6.0.20 サーバーを Apache でフロントに配置し、2 台の間で AJP を使用して通信します。次に、Tomcat は JBoss クラスター上の Web サービスを消費します。

今朝、Tomcat マシンの 1 つが、マシンの 8 つのコアのうち 6 つの CPU を 100% 使用していました。JConsole を使用してヒープ ダンプを取得し、次に JVisualVM に接続してプロファイルを取得し、すべての CPU を占有しているものを確認しようとしましたが、これにより Tomcat がクラッシュしました。少なくとも、ヒープ ダンプがありました。

ヒープ ダンプを Eclipse MAT にロードしたところ、java.lang.Thread のインスタンスが 565 個あることがわかりました。これらのいくつかは明らかに完全に合法ですが、大部分は「ajp-6009-XXX」という名前で、XXX は数字です。

私は Eclipse MAT の使い方をかなりよく知っていますが、その説明を見つけることができませんでした。なぜTomcatがこれを行っているのか、またはEclipse MATを使用する理由を見つけるためのヒントを誰かが持っていれば、それはありがたいです!

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

apache - 内部サーブレット名を別の外部名にマップするAJPプロキシ

apache2を使用して、内部サーブレットURLを外部の完全に異なるURLにマップするTomcatサーバー用のAJPプロキシを設定したいと思います。現在、次の構成を使用しています。

Apache2構成:

external_nameservlet_nameは異なることに注意してください。

Tomcat 6の構成:

ただし、これは機能しません。ApacheはhttpリクエストをTomcatに転送しているようです。ただし、Tomcatによって返されるURLとリダイレクトは引き続き元のURLを使用しておりservlet_name、Apacheはそれらをにマップしませんexternal_name

これはAJPで可能ですか?そうでない場合は、代わりにプレーンhttpプロキシを使用して実行できますか?