問題タブ [mod-proxy-html]
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.
apache - SSL と URL エンコーディングを使用したリバース プロキシ、パスの変更
環境 http://etrafficcontrol.com/misc/proxy.png
2つのアプリケーションがあります。1 つは AWS でホストされている e コマース サイト (LAMP 上で動作する Drupal 7) であり、もう 1 つは IIS-6 上の ASP であり、社内にあり、SSL を必要とするチェックアウト システムです。
現在、お客様がチェックアウトのために別のドメインに転送される状況に我慢しています。これは、ebay や PayPal で起こるようなものです。しかし、これはサイトの追跡コードに問題をもたらし、買い物客がチェックアウトのために電子商取引サイトから転送されるのは、一種の不自然に感じます.
主な懸念事項は、Google キャンペーンを使用しているため、広告からドメイン 1 のリッチ コンテンツへのコンバージョンを追跡したいのですが、実際の販売はドメイン 2 でのチェックアウト時に発生します。
訪問者を www.domain1.com/cart から domain2.com/miscX に送信するのではなく、ProxyPass と ProxyPassReverse をセットアップして、訪問者を www.domain1.com/shop/miscX に送信できるようにしました。
App1 (drupal) は domain1.com/* にあり、.htaccess は Drupal の設計をバイパスしてすべてをインターセプトします。「その他の」パスは、サブディレクトリにリダイレクトし、そこからプロキシするという事実から来ています。プロキシされたページがレンダリングされると、/miscX へのハードコードされたパスがいくつかあり、リダイレクト中にそれらのパスに特別な準備をしなくても、(プロキシに従う /shop/miscX/ の代わりに) /miscX/ になります。 css、jsなどの欠落の原因となります。
注: 当社の法人顧客は domain2.com に直接ログインできるため、そのポータルはそのままにしておきたいと思います。
以下の local-d7 は、domain1 サーバーのローカル テスト インスタンスです。プロキシのテストは、この概念が SSL で機能することを示しています。
これはほとんど機能していますが、URL エンコードされたパラメーターが失われているようです (クエリ文字列は問題ありません)。プロキシを導入すると、server2 にはエンコードされたパラメーターが表示されません (これは特殊なアプリであり、IIS が受信しているものを表示する方法がわかりません)。エンコードされたパラメーターを持たないような方法で、server-1 の apache を介して domain2 テスト ポータル ログインをルーティングすると、ログインが機能します。
事実上、私はしようとしています
- リバース プロキシ
- パスを変更します (ドメイン 2 で / で実行されているアプリを配置し、ドメイン 1 のサブディレクトリ "/shop" に公開します)
- SSLをサポート
- Apache の背後にある IIS サーバーをプロキシする
- 元の domain-2.com URL で引き続き使用できるように、IIS サーバーを変更しないようにします。
- これは、Apache の構成制御が制限されている [可能性がある] ホストされたサーバーで行います。(現在 XAMPP でテスト中)。
rewriterules、redirects など、ここに示されているものに加えて、あらゆる種類のことを試しました。mod_proxy や mod_rewrite などの経験はまったくありません。しかし、プロキシのこの配置は、ある程度の作業と、おそらくサーバー SSL 証明書の修正で実行可能です。
アドバイス? - ありがとう
vhosts.conf
.htaccess
macos - mod_proxy_http から mod_jk に切り替えると Tomcat に接続できないのはなぜですか?
mod_jk
またはによって Tomcat に接続されている HTTP Apache サーバーがありますmod_proxy_http
。これまでのところ、接続 byは正常にmod_proxy_http
動作しますが、接続 bymod_jk
ではパスが見つからないというエラーが発生します。次に例を示します。
要求された URL /cm/login.ep は、このサーバーで見つかりませんでした。
Apache error_log の対応するエラーは次のとおりです。
[2014 年 5 月 24 日 22:19:47] [エラー] [クライアント 127.0.0.1] ファイルが存在しません: /Library/WebServer/Documents/cm
VirtualHost 定義は、httpd.conf では使用されません。
mod_jk.log
エラーが表示されない場合、ワーカーはworkers.properties
ファイルから見つかります。ログには次のように記載されています。
[2014 年 5 月 23 日金曜日 17:19:25] [758:140735273992976] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 初期化
mod_proxy_http と mod_jk の接続構成は次のとおりです。
mod_proxy_http
設定は次のとおりです。
mod_jk
設定は次のとおりです。
そして、次のworkers.properties
とおりです。
apache - Undefined symbol when loading Apache2 mod_xml2enc
I am so frustrated installing reverse-proxy-related modules to Apache2 HTTP server on a CentOS 5 box. Since it's an old version of Apache2 server, I had to compile the modules from source using Apache tool 'apxs'. I got no warnings or errors installing the module by 'apxs' but got runtime error when trying to restart the Apache server.
The following are more details.
For historical reason, I cannot upgrade either of them to newer version to fix the issue.
The OS was originally lack of libxml2, which I installed by yum successfully with no issue. I downloaded the source files of mod_proxy_html including 1) mod_xml2enc.c, 2) mod_proxy_html.h and 3) mod_proxy_html.c
I used the following commands to at first install mod_xml2enc and then mod_proxy_html.
Both seemed OK and showed some output like the following:
However, when I tried to restart the server, the error message I put at the top was raised.
I've tried many ways to fix this issue, however, nothing worked. Maybe it's worth noting that I took the exact steps installing the same modules on a CentOS 5.11 32bit machine and got no problem at all. The only difference between these two machines is just one is 32-bit and the other is 64-bit.
Hope someone would know how to fix this issue.
Thanks a lot in advance.
sharepoint-2010 - Apache リバース プロキシによる消去
これは私の最初の投稿です。
フォーラムで関連する問題を既に検索しましたが、どの結果も問題を解決していないようです。
セットアップは次のとおりです。
内部顧客ネットワークの IIS 7 に展開された MS Sharepoint 2010 があります。これは、内部ネットワーク内から正しく動作しているようです。
このサービスを公開するために、DMZ 上の Red Hat EL 6.0 で実行されている apache 2.2 サーバーを使用しています。apache には、外部からの接続を許可するリバース プロキシとして構成された vhost があります。
私が見つけたいくつかのリンクの問題のため、mod_proxy_html モジュールをコンパイルして統合し、それらのリンクを解析する必要がありました。
問題は、外部から (apache 経由で) アクセスすると、奇妙な文字が表示されることです。これは、Apache が html メタ タグを消去するためです。
MZ 内から、html コードが開始されます。
ただし、外部からアクセスすると、html コードが開始されます。
タグがありません: meta http-equiv="Content-type" content="text/html; charset=utf-8".
私はすでにhttpd.confに追加しようとしました:
AddDefaultCharset utf-8
ProxyHTMLCharsetOut utf-8
ProxyHTMLMeta オン
仮想ホストは次のように構成されます (130.177.97.99 はバックエンドに属する IP です)。
どんな助けでも大歓迎です。
ありがとう。
ファン
apache - 代わりにブラウザをバックエンドに直接送信するApacheリバースプロキシ
(主な質問の下部にある更新、以下は余分な詳細かもしれません)
Apache が期待どおりにリバース プロキシしないという興味深い問題があります。
基本的に、自分のウェブサイトで相対パスに移動するリンクをクリックすると、URLが からのコンテンツであると/app1
予想されます。代わりに、ブラウザは直接.external.company.ca/app1
internal.company.ca/some_app
internal.company.ca/some_app
302などはありません。まっすぐそこにあります。internal.company.ca
これは、リバース プロキシ構成を除いて構成のどこにも言及されていないため、私には奇妙です。そのため、ブラウザがドメインをどのように学習しているかはまったくわかりません。
これは、クライアント (ブラウザー) の観点からの Fiddler のキャプチャで、次のリンクをクリックした直後の動作を示しています(緑の名前がで、黒の名前がで、パスが で/app1
あることを信頼する必要があります)。external.company.ca
internal.company.com
/some_app/blahblah
この時点以降に起こることはすべて、internal.company.com
. もちろん、これは本番環境ではまったく機能しません。
以下は、検討用の Apache 構成ファイルの (省略された) バージョンです。
ある時点で、Cookie が別のドメイン (前が .ca、後ろが .com) にあるため、Cookie が問題を引き起こしているのではないかと考えましたが、リバース プロキシが正しく機能していれば、ブラウザーはそれほど賢明ではないと思います。 . 上記に何か問題がある人はいますか?
アップデート
私は犯人を見つけました:
<script type="text/javascript">window.location.assign('https://internal.company.com/app1/login?redirectUrl=' + encodeURIComponent(window.location.pathname + window.location.hash));</script>
問題は、Apache を使用してこの絶対 URL をどのように書き換えるかということです。href
mod_proxy_html が要素の属性 (要素など) を変更することは知ってa
いますが、要素自体の任意のデータを書き換えることはできますか?
内部アプリケーションはベンダーから提供されたものであり、変更を加えて上記のようなコードを削除することは可能かもしれませんが、代替手段があるかどうかを確認するために、今のところそのパスから離れることをお勧めします。
apache - ProxyHTMLURLMap で正しく行われた相対 URL?
たとえば、psweb1.example.com:8002/main/login/login.jsp は psweb1.example.com/demo1/main/login/login.jsp にリダイレクトする必要があります。
および psweb1.example.com:8002/content/* は psweb1.example.com/demo1/content/* にリダイレクトする必要があります
適切な相対パスをリダイレクトできません。どんな助けでも大歓迎です。
これは httpd.conf の私の設定です
php - サブディレクトリへのサブドメイン マップ
会社ごとに動的サブドメインが必要な Web アプリケーションがあります。また、このサイトには SSL もあります。Ubuntu VPS で apache を使用しています。私がしたことは、以下のような仮想ホスト設定を行ったことです
トラフィックを SSL に転送しても問題ありません。
だから私が今する必要があるのは、Web ルートに "/app" フォルダーがあることです。すべてのサブドメインがその特定のフォルダーに直接移動し、アドレスバーに同じ URL が表示されるようにします。
PHPでhttp_proxyモジュールを有効にして、これを.htaccessにしました
「 https://test.domain.com 」にアクセスすると、「 https://domain.com/app/index.php 」にリダイレクトされます。htaccess リダイレクトが「 http://domain.com/app/index.php」に発生すると、仮想ホスト構成が非 SSL 要求を認識し、SSL を使用して同じアドレスに要求をリダイレクトするため、なぜそれが起こっているのかを知っています。だから私はこれに.htaccessを変更しました
書き換えルールに「https」を入れました。「 https://test.domain.com 」に再度アクセスすると、このエラーが発生しました。
最後に私が欲しいのは
誰かがこれについて私を助けることができますか
ありがとうございました。
apache - CentOS 7 での mod_proxy_html のセットアップ
ライブ環境に置く前にリバース プロキシが期待どおりに動作することを確認するために、Web サーバーでいくつかのテストを行おうとしていますが、mod_proxy と mod_proxy_html でいくつかの問題が発生しています。
ポート 80 に 1 つ、ポート 8080 に 1 つの 2 つの仮想ホストがあります。私の目標は、www.example.com/path/ への着信要求をポート 80 で受け取り、ポート 8080 に逆プロキシすることです。
これが私の仮想ホスト設定です:
私の /var/www/html/test には index.html と test.html の 2 つのファイルがあります
。 test.html の内容は次のとおりです。
www.example.com/path/ へのアクセスは正常にプロキシされ、www.example.com/path/test.html にリダイレクトされますが、ページ上のリンクは依然として 127.0.0.1 を指しています。
httpd -M は、proxy_module と proxy_html_module の読み込みを報告し
ます。また、手動で LoadModule を http.conf に追加しようとしました。
なぜそれが適切に機能していないのかについて何か考えはありますか? 設定が間違っていますか?