タグ付けされた質問 「mod-proxy」

Apacheをプロキシサーバーとして使用できるApache Webサーバー用のモジュール。このモジュールを使用すると、apacheは通常のプロキシとして、または上流サーバーのリバースプロキシとして機能できます。

3
Apache Mod_proxyのURLを除外する方法は?
ロードバランサーとしてmod_proxyモジュールを使用して構成されたフロントエンドとしての2つのApacheサーバーとバックエンドとしての4つのTomcatサーバーがあります。次に、mod_proxyロードバランサーから単一のTomcat URLを除外します。除外する方法やルールはありますか? プロキシバランサーの設定: <Proxy balancer://backend-cluster1> BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10 BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10 </Proxy>

8
Apache2プロキシタイムアウト
私は、Apache2とPHP + PHP-FPMを次のように構成しています。 http://wiki.apache.org/httpd/PHP-FPM 内部Vhostでの実行に時間がかかるスクリプトを作成していますが、タイムアウトが発生し続けます。スクリプトが30秒未満で実行されると、すべてが正常に実行されます。 私のApacheログは私に伝えます: [Wed Apr 17 21:57:23.075175 2013] [proxy_fcgi:error] [pid 9263:tid 140530454267648] (70007)The timeout specified has expired: [client 58.169.202.172:49017] AH01075: Error dispatching request to :, referer: スクリプトを実行しようとすると、503 Service Unavailableちょうど30秒の実行時間が経過します。論理的には、これはタイムアウトディレクティブまたは設定が30秒に設定されていることを意味しますが、Vhostの構成には次のようなものがあります。 Timeout 600 <IfModule proxy_module> ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9001/home/pyrokinetiq/scripts/$1 timeout=600 ProxyTimeout 600 </IfModule> (php-fpmは私にとってポート9001で実行されています) 私はまた、配置しようとしているTimeoutとProxyTimeoutにhttpd.conf違いはありませんで。 に固有の別のタイムアウト設定があるようですがmod_proxy_fcgi、見つけることができません。公式のtarballからApache2 httpdをインストールしましたが、どのmodにも構成ファイルが付属していないようです。 誰かが私を正しい方向に向けることができれば、それは大歓迎です。

2
プロキシパスが機能しない
OpenSUSE 13.1インストールでProxyPassを動作させようとしています。 私が試してみました: a2enmod proxy a2enmod proxy_http a2enmod proxy_connect systemctl restart apache2 systemctl reload apache2 (すべてのステートメントの組み合わせは無効です)。 同じエラーが何度も繰り返し表示されます。 SERVER:/etc/apache2 # apache2ctl start -f /etc/apache2/httpd-proxy.conf AH00526: Syntax error on line 4 of /etc/apache2/httpd-proxy.conf: Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server configuration httpd-proxy.confは次のようになります。 <VirtualHost *:80> …

1
ProxypassディレクティブにはProxyPassReverseディレクティブが必要ですか?
すべてのProxyPassディレクティブにProxyPassReverseディレクティブが必要ですか? ProxyPass / http://foo.example.com:8080/ ProxyPassReverse / http://www.example.com/ このスニペットを見て、foo.example.com着信するすべてのトラフィックがfoo.example.com:8080にプロキシされることを理解しています。2行目は何をしますか?

3
mod_proxyを使用してSOAPサービスへのリバースプロキシを行うときに断続的なエラーが発生する
mod_proxyをSOAP Webサービスのリバースプロキシとして使用すると、数分ごとにこのエラーが発生します。おそらく1秒あたり3〜4件のリクエストが送信されるため、このエラーが発生している1,000件ごとに1件または2件の問題が発生しています。 [Tue Nov 23 11:44:14 2010] [error] [client 172.16.1.31] (20014)Internal error: proxy: error reading status line from remote server soap1.server:8888 [Tue Nov 23 11:44:14 2010] [error] [client 172.16.1.31] proxy: Error reading from remote server returned by /someapp/path/to/web/service これにより、リクエストが失敗します。クライアントがプロキシを使用せずに石鹸サーバーに直接接続している場合、成功は100%であるため、問題はプロキシにあるように見えます 設定は次のようになります。目的は、プライマリサーバーが使用できない場合にバックアップサーバーに切り替えることです。 <Proxy balancer://apicluster> BalancerMember http://soap1.server:8888 lbset=0 BalancerMember http://soap2.server:8888 lbset=1 </Proxy> ProxyPass …

3
localhostポートに対してApacheプロキシが機能しない
ポート80で実行されているApache 2.2.15があり、localhostポート8983でサーブレットエンジンをプロキシしたい。別のサーバーで実行されているセットアップがあるが、CentOS 6マシンに移動した。新しいマシンでは動作していません。私の仮想ホスト設定: ProxyRequestsオフ <プロキシ*> 注文拒否、許可 すべてから許可 </プロキシ> ProxyPass / http:// localhost:8983 / ProxyPassReverse / http:// localhost:8983 / ブラウザを使用して直接アクセスする場合(およびApacheプロキシを経由しない場合)、ポート8983にアクセスできますが、Apacheサーバーにアクセスする場合はポートに接続できません。 プロキシされているものをhttp://slashdot.orgのようなものに変更することができ、Slashdotは正常にプロキシされます(したがって、一般的にプロキシできることはわかっています)。 Apacheでデバッグロギングをオンにしました。これはトランザクションです。 [2012年4月22日16:47:04 2012] [デバッグ] mod_proxy_http.c(56):プロキシ:HTTP:canonicalising URL // localhost:8983 / [Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(1506):[client 184.39.79.7] proxy:http:found worker http:// localhost:8983 / for http:// localhost:8983 / [2012年4月22日16:47:04 2012] [デバッグ] mod_proxy.c(998):スキームHTTPハンドラーの実行(試行0) …

6
modプロキシを通過するリクエストのロギングを有効にするにはどうすればよいですか
modプロキシを通過するリクエストをログに記録する方法はありますか?私は自分がいるべき場所に到達していないように見えるので、設定をデバッグする方法が必要です。次の情報が必要です。 着信リクエストのヘッダー プロキシターゲットに送信されるもの おそらく関連する質問:いくつかのヘッダーを削除する方法はありますか?私は次を試しました: ProxyPass /proxy/other http://not.under.my.control/ <Location /proxy/other> ProxyPassReverse / RequestHeader unset Authorization </Location> 私は何も見えないので、これが大丈夫かどうか本当にわかりません。

2
リバースプロキシでのApache URLの書き換え
Karafがホストするアプリケーションの前にApacheをデプロイしています(ApacheとKarafは別々のサーバーにあります)。Apacheをリバースプロキシとして動作させ、URLの一部を非表示にしたいのです。 アプリケーションサーバーからアプリケーションのログインページを直接取得するためのURLはhttp://app-server:8181/jellyfishです。ページはKaraf内で実行されているJettyインスタンスによって提供されます。もちろん、この動作は通常、リバースプロキシサーバーを除くすべてのファイアウォールによってブロックされます。 ファイアウォールをオフにして、このURLにアクセスすると、Jettyはログインページをロードします。ブラウザのアドレスバーが正しく変更されhttp://app-server:8181/jellyfish/login?0、すべてが機能します。 私が望んでいるのは、http://web-server(ルートから)アプリの名前(jellyfish)を抑制して、アプリサーバー上のJettyにマップすることです。たとえば、ブラウザはhttp://web-server/login?0アドレスバーに表示されるように変更され、後続のすべてのURLとコンテンツは、Webサーバーのドメインで、jellyfish乱雑にならずに提供されます。 次の設定(スニペット)を使用して、Apacheを単純なリバースプロキシとして動作させることができます。 ProxyPass /jellyfish http://app-server:8181/jellyfish ProxyPassReverse / http://app-server:8181/ ...ただし、これにはブラウザのURLが含まれている必要がありjellyfish、ルートURL(http://web-server)に移動すると404 Not Foundが返されます。 私はこれを回避するためにフラグのmod_rewrite有無にかかわらず使用しようとして多くの時間を費やしましたが、[P]成功しませんでした。その後、ProxyPassMatchディレクティブを試してみましたが、それもまったく正しいとは思えません。 以下は/etc/apache2/sites-available/、Webサーバーにロードされる現在の構成です。ローカルにホストされている画像ディレクトリがあることに注意してください。また、mod_rewriteプロキシエクスプロイト保護を維持し、mod_security誤検知を引き起こすいくつかのルールを抑制しています。 <VirtualHost *:80> ServerAdmin admin@drummer-server ServerName drummer-server ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /images/ "/var/www/images/" RewriteEngine On RewriteCond %{REQUEST_URI} !^$ RewriteCond %{REQUEST_URI} !^/ RewriteRule .* - [R=400,L] ProxyPass /images ! ProxyPassMatch ^/(.*) http://granny-server:8181/jellyfish/$1 …

1
ProxyPassでのApache httpdエラー「proxy:ap_get_scoreboard_lb」
TomcatをプロキシするようにApacheを設定しましたが、ページをターゲットにすると次のエラーが表示されます。空白のページまたは503が表示されることがあります。 [エラー] [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(2) failed in child 29611 for worker proxy:reverse [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(1) failed in child 29611 for worker https://localhost:8443/ [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(0) failed in child 29611 for worker http://localhost:8080/ 次のように、vmに2つの仮想ホストを構成しています。 [httpホスト] <VirtualHost …

3
プロキシ:リクエストボディのパスに失敗しました
プロキシ仮想ホストを有効にしようとしています: <VirtualHost *:80> ServerName xxxxx.domain.tdl SSLProxyEngine On SSLProxyCheckPeerCN on ProxyPass / https://localhost:1234 ProxyPassReverse / https://localhost:1234 </VirtualHost> しかし、私は500エラーと私のerror.log(apache2)を表示しています: [Tue Jan 03 15:41:42 2012] [error](502)Unknown error 502:proxy:pass request body failed to [:: 1]:1234(localhost) [Tue Jan 03 15:41:42 2012] [error] proxy:pass request body failed to [:: 1]:1234(localhost)from 82.252.xxx.xx() 一部のパラメーターがありませんか?

1
503エラーを特にキャッシュしないようにmod_proxyを構成するにはどうすればよいですか?
これは私のmod_proxy設定です: <IfModule mod_proxy.c> <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /manage/ http://localhost:9000/manage/ ProxyPassReverse /manage/ http://localhost:9000/manage/ </IfModule> ポート9000にある他のWebサイトが正しく応答しない場合は常に、503エラーが持続することに気付きます。これは、Webサイトが修正された後でも持続します。つまり、503応答はキャッシュされているようです。 どうすれば無効にできますか?自分でキャッシュを有効にしたとは思わない。おそらくこれがデフォルトだろう。

2
基本的なmod_proxy仮想ホストのセットアップ
test.localへのすべてのリクエストを127.0.0.1:8080で実行しているWEBrickサーバーにプロキシし、localhostへのすべてのリクエストを/ var / wwwの静的ファイルに送信するように、基本的な仮想ホストを設定しようとしています。Ubuntu 10.04を実行しています。 libapache2-mod-proxy-htmlがインストールされており、a2enmodプロキシを有効にしたモジュールがあります。仮想ホストも有効にしています。ただし、test.localにアクセスするたびに、常に500サーバーの不可解なエラーが発生し、すべてのログから次のことがわかります。 [Thu Mar 03 01:43:10 2011] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. これが私の仮想ホストです。 <VirtualHost test.local:80> LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so ServerAdmin …

1
特定のリクエストを除き、プロキシ経由ですべてのリクエストを処理する
私のhttpd.confには以下が含まれています <VirtualHost *:80> ServerName foo.org ServerAlias www.foo.org <Proxy *> Options FollowSymLinks MultiViews Order allow,deny Allow from all AllowOverride All </Proxy> ProxyPass / http://127.0.0.1:5012/ ProxyPassReverse / http://127.0.0.1:5012/ </VirtualHost> これは、http://foo.orgに対するすべてのリクエストが別のWebサーバーを使用してポート5012から提供されるのと同じように機能します。しかし、ポート80からApache経由でhttp://foo.org/libだけを提供したいのですが、どうすればよいですか?confに次の行を追加しても役に立たない Alias /lib /path/to/lib <Directory "/path/to/lib"> AllowOverride None Options None Order allow,deny Allow from all </Directory>

3
ProxyPassの使用方法を教えてください
更新:以下の2つの答えを試してみて、改訂された質問を追加しました。 こんにちは、 これを読んでいるなら、おそらくApacheのmod_proxyとそのProxyPass関数に精通しているでしょう。他の多くの人と同様に、内部ネットワークの外部からアクセスできるアプリケーションがあるという問題がありますが、そのアプリケーション自体が別のマシン上の他の内部アプリにアクセスするため、この設定でリモートアクセスを開始すると、状況が不安定になります。 だから、私のセットアップは非常に簡単です、私は持っています: マシン#1でリモートアクセスが有効になっています。ホスト名を使用してアクセスすると、そのマシンで実行されているPHPアプリケーションが吐き出されます。 マシン#2はDjangoを実行する新しいアプリケーションであり、完全に異なるバックエンド(authも含む)を使用し、別のマシンでホストされています。イントラネットでは、基本的に内部192.168.0.101 ipにリンクする単純な名前のホスト名を介してアクセスします。 ProxyPassを試して設定してみました。たとえば、/ newにパスすると、新しいアプリケーションに送信されます。 ProxyPass / new http://192.168.0.101/ この種の機能は、他のアプリへのリクエストを取得しますが、Djangoアプリが/ auth / login /にリダイレクトしようとするため、すぐには認識されないため、機能しません。自分でurlをfoo.net/new/auth/loginに変更すると、ログインページが表示されますが、ブラウジング全体でこれを行うのは不便です。 では、ProxyPassを希望どおりに機能させるにはどうすればよいですか?Apacheで何かをする必要があるので、他のアプリでは常に/ newの前に/ newが書き込まれますか、それともDjangoアプリ内で変更する必要がありますか? ヒントやポインタも同様にいただければ幸いです。御時間ありがとうございます

1
ApacheをHTTPSからHTTPプロキシとして使用する
Centos 6でApacheを構成して、サードパーティプロバイダーのhttpサーバーにトラフィックをプロキシおよびリバースプロキシしようとしています。 設定は次のように機能するはずです: https://mydomain.com/proxy/ すべてのトラフィックを透過的にプロキシします http://thirdparty.com/app/ 私が抱えている問題はhttps://mydomain.com/proxy/、応答として301リダイレクトを取得するために行われたすべての要求です。 これらは私のプロキシ関連のオプションのすべてです VirtualHost SetOutputFilter proxy-html ProxyHTMLExtended On ProxyRequests Off SSLProxyEngine On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /proxy/ http://thirdparty.com/app/ <Location /proxy/> ProxyPassReverse / ProxyHTMLEnable On ProxyHTMLURLMap http://thirdparty.com/app/ /proxy/ ProxyHTMLURLMap / /proxy/ </Location>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.