問題タブ [mod-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.
glassfish - Glassfish の最も単純な apache mod_proxy 構成は何ですか?
Apache2 (ポート 80) と Glassfish (ポート 8080) を備えたサーバーがあります。特定の仮想ホストへのリクエストを透過的にグラスフィッシュ サーバーにプロキシするように Apache を構成したいと考えています。
私はこれを試しましたが、うまくいきません:
理由を教えてもらえますか?ありがとう
apache - mod_proxy_ajpを使用してApacheの背後にTomcatを正しくセットアップする
私はApache+Tomcatをいじくり回して、apache(クリーンで鮮明なURLロック)を介して(異なるマシンで)複数のtomcatアプリを提供できるようにしています。構成に成功し、2つのTomcatアプリを異なるマシンでほとんどmod_proxy_ajp
問題なく提供できるようになりました。mod_rewrite
私が見つけた唯一の問題は、(Struts2で開発している)アプリの1つに、タグとタグで生成されたリンクとフォームがたくさんある<s:a />
こと<s:url />
です<s:form />
。これらのタグによって生成されるURLは、通常、次のようになります。
/WebApp/path/to/some.action
ModRewriteの魔法のおかげで、これは一般的に大きな問題ではなく、そのようなURLへのハイパーリンクはすぐに書き直されてリダイレクトされ/app/path/to/some.action
ます(私はたくさんの302
応答を受け取りますが)。
実際の問題は、POST要求を実行するときに発生します。ご存知かもしれませんが、POST
mod_rewriteを使用してリクエストをリダイレクトすることはできません...したがって、最終的には... POST
mod_rewriteが正しいURLにリダイレクトするため、リクエストとしてすべてのリクエストが機能しませんGET
。
mod_proxy_html
Tomcat Webアプリケーションによって返されるURLを書き直すのにどのように役立つかについては、すでに少し読んでいますが、面倒な感じがします。
これは私の現在のapache構成です:
私のPOST
要求の問題に対する解決策がなければなりません...何かアイデアはありますか?Struts2が正しいURLを出力できるように何かを構成できますか?
ご協力いただきありがとうございます。
jsf - Tomcat 6 クラスタリング - 認証済みセッションのレプリケーション
現在、同じ VPS で実行されている2 つの Tomcat 6.0.32 インスタンス ( Tomcat1およびTomcat2 ) で構成される非常に基本的なクラスターがあります。mod_proxy_ajp と mod_proxy_balancer を Apache 経由のロード バランサーとして (同じ VPS 上で) 使用しています。基本フォーム認証 (j_security_check 経由) を使用して、ユーザーの認証済みセッションを作成しています。
ロード バランサは正常に機能しており、認証されていないセッションが 2 つのインスタンス間で正常に複製されています。ただし、認証されたセッションを各インスタンス間で置き換えることはできません。
session.jsp という非常に基本的な JSP (JPS テンプレートhttp://www.syslog.gr/articles-mainmenu-99/15-tomcat-cluster-session-replication.htmlに基づく) を使用してセッションをテストしています。新しいセッションかどうかを確認し、JSESSIONID を出力します。私は、保護領域内に JSP のコピーを 1 つ、保護領域外に 1 つのコピーを持っています。
次のテストを実行しました。
テスト 1) Tomcat1
上のアプリケーションの保護領域の外にある session.jsp にアクセスし、JSESSIONID を書き留めて、 Tomcat1がリクエストを処理したことをロード バランサーで確認します。次に、 Tomcat1をシャットダウンし、ページを更新します。リクエストはTomcat2によって処理されるようになりました (ロード バランサーによって確認されています)。ページの読み込みが完了すると、元の JSESSIONID が表示され、セッションは存続しています。
テスト 2) Tomcat1
のアプリケーションの保護領域内にある session.jsp にアクセスします。これにより、ログインが求められます。ログイン後、session.jsp に送信され、JSESSIONID を書き留めて、Tomcat1がリクエストを処理したことをロード バランサーで確認します。次に、 Tomcat1をシャットダウンし、ページを更新します。リクエストはTomcat2によって処理されるようになりました (ロード バランサーによって確認されています)。ページが読み込まれると、Cookie をチェックします。新しい JSESSIONID を取得したので、もう一度ログインするよう求められます。
これまでのところ、認証されたセッションは認証されていないセッションのように複製されていないことがわかりました。これは正当な理由ですか、それとも構成の問題を示していますか?
tomcat - クラスタリングでセッションをシリアル化できません
過去 2 日間から、Tomcat クラスタリングを実行しています。テストアプリ アプリケーションでは問題なく動作しますが、webapp への参照を渡すと、以下の例外がスローされ、クラスタリングが機能しません。メンバーは正常に追加されますが、他のクラスター メンバーとのセッションをシリアル化できません。
org.apache.catalina.ha.session.DeltaManager requestCompleted
sessionid [2045E940A267F15A541F9A4DEBC39F12.tomcatA] の差分要求をシリアル化できません
私は tomcat6.0.18 を使用しているため、他のメンバーも使用しています。fornt の Apache httpd 2.2 と、tomcat と apache 間のコネクタとしての mod_proxy。
ありがとう
編集:
グーグルで見つけた -
セッション中にシリアル化できないものがあると思います。したがって、Tomcat はセッション コンテンツのファイルへの書き込みを中止します。次の開始 tomcat は保存されたセッションを読み込もうとしますが、以前に中断された書き込みが原因でできません。再起動セッションの永続性を気にしない場合は、conf-docs で適切なスイッチを見つけるか、bin/catalina.sh に以下を追加してください。
rm -rf work/Catalina/localhost//SESSIONS.ser
これが何なのか理解できませんでしたか?
url-rewriting - Apache-Tomcat Web アプリケーションでブラウザの URL を取得するには?
mod_proxy を介して Apache-Tomcat コネクタを使用して Web アプリケーションを構成しました - 以下を参照してください。
また、URL を読み取ってクライアントを直接識別するために、サブドメインを使用しています。以下の例を参照してください。
クライアント1種類
クライアント2種類
次に、URL を読み取り、クライアント名 (client1 または client2) を解析します。私の Web アプリケーションの残りの部分は、クライアントが誰であるかに基づいて駆動されます (もちろん、認証後)。しかし問題は、HttpServletRequest の getRequestURL を使用して URL を取得しようとすると、client1.mydomain または client2.mydomain の代わりにhttp://127.0.0.1:8080/myappを取得することです。これは、Apache がプライマリ ディスパッチャとして使用され、Apache httpd への要求がローカル ホスト Tomcat に転送されていることが原因であると思われます。
URL の構造 (client1.mydomain.com/client1 など) を変更したくありません。また、UI を介してクライアント情報をユーザーに尋ねたくもありません。どうすればこれを達成できますか?
apache2 - mod_proxyを介してTomcatで実行されている複数のアプリケーションにプロキシするにはどうすればよいですか?
Tomcat6で実行されている2つのWebアプリケーションがあります。現在、次の設定でmod_proxyを介してそれらの1つにアクセスできます...
これで、 http: //staging.domain.com/app1からapp1にアクセスできます。同じ方法でapp2にアクセスできるようにしたい:http ://staging.domain.com/app2 。2番目のVirtualHostを構成しましたが、最初のVirtualHostのみが機能します。これは、単一のドメインで2つのWebアプリをプロキシすることさえ可能ですか?もしそうなら、ヒント、ヒント、トリックをいただければ幸いです。
apache - ベータユーザー向けの別のドキュメントルート?
私はubuntuサーバーのapacheで実行されているワードプレスベースのphpアプリケーションを持っています。新しいバージョンのアプリケーションを開発しましたが、特定のユーザーのみがこのベータ版にアクセスできるようにしたいと思います。私のサーバーの構造は次のようになっています:
/ var / www / site
/ var / www / betasite
これらのユーザーに別のドメイン/サブドメインのサイトを実行させたくありません。両方のサイトは同じワードプレスデータベースで実行されることになっているため、同じドメインが必要です。wp-content / themesフォルダーの外にたくさんのアセット/プラグインがあるので、セッション/クッキーに基づいてワードプレスのテーマを変更することもできません。
ベータユーザーにCookieを提供し、それらのCookieを使用してリクエストを新しいドキュメントルートにリダイレクトすることを考えていました。私はhtaccessのmod_rewriteをいじり回そうとしましたが、多くの実験の結果、mod_rewriteはapacheのドキュメントルート外のものにリダイレクトできないことがわかりました。
リクエストヘッダーのCookieに基づいて仮想ホストを設定する必要があります。何か案は?
php - http 要求が行われるたびにスクリプトを実行するにはどうすればよいですか?
私は2つのWebサーバーを持っています。1 つは私のメイン Web サイト (www.site.com) をホストし、もう 1 つはサブドメイン (sub.site.com) をホストします。私が設定した方法では、サブドメインにアクセスするときはいつでも、mod_proxy を使用して最初にメイン サーバーを経由します。メイン Web サーバーには、Web ページにアクセスするたびに情報を記録する php スクリプトがあります。私が実現したいのは、誰かがサブドメインにアクセスするたびに、サブドメイン サーバーにリクエストを送信する前にログ スクリプトがメイン サーバーで実行されることです。これは可能ですか?
apache - フロントエンド プロキシがリソースを正しく参照しない
私は、プレイの前にフロントエンド プロキシを実行するのに非常に多くの問題を抱えています。この投稿は Google グループにもあります。受け取った提案を両方に投稿します。
私は apache と mod_proxy を使用しており、アプリケーションは "mywebsite.be/dev/app/" の場所で実行されているはずです。HTMLを表示することができます。
しかし、アプリケーションを実行すると、すべての CSS/JS/画像が欠落し、すべての参照も正しくありません。ソースを調べたところ、Play は @{/pathname/to/resources} およびその他の相対リンクを正しい URL に置き換えていないようです。すべてを機能させるには、すべての URL に「/dev/app」というプレフィックスを付ける必要があります。これはどのように行うことができますか?
ctxPath を試してみましたが、それは私が必要とするものではありません。アプリケーションは単独で正常に動作しますが、apache2 にはリバース プロキシでこれらすべての URL を変換する際に問題があります。
これは解決できますか?@-operator をテンプレート システムで何とか編集しようと考えていましたが、それはできませんね。
こんにちは、ジャスパー
tomcat - Spring Security と AJP プロキシ
Web アプリに Spring Security と Apache プロキシを使用しています。標準の mod_proxy を使用する場合はすべて問題ありませんが、AJP プロキシに切り替えると、Spring セキュリティ リダイレクトに問題が発生します。
アパッチ構成:
http://domain.com/loginを呼び出すと、ログイン フォームが表示されます。
フォームを送信すると、http://domain.com/authにアクセスして認証されます。
次に、Spring Security は http://domain.com/index にリダイレクトする必要がありますが、代わりにhttp://domain.com/Context/indexにリダイレクトします。
そのコンテキストパスを取り除くにはどうすればよいですか? Spring Security がそれをどこにでも追加するのはなぜですか?
Spring Security サイトに同様の質問がありましたが、誰も答えませんでした。
http://forum.springsource.org/showthread.php?95141-Why-is-spring-security-include-the-context-path
PS Google がこの問題に関連するものを見つけられないのは奇妙に思えます。Spring Security + AJP を使用しているのは私だけですか? もしかして間違ったパターン?
解決: