質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

Q&A

解決済

2回答

4163閲覧

Apacheでドキュメントルートのみ除外するプロキシー設定

teramasa

総合スコア76

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

0グッド

0クリップ

投稿2016/03/03 12:58

編集2016/03/05 05:42

###前提・実現したいこと
httpd.confで / のみプロキシー除外で、それ以外はすべてプロキシー有効にしたいと思っています。

###発生している問題・エラーメッセージ
以下の設定をしても / 自体がかぶっているのでうまく動きません。
/ のみ除外でそれ以外がプロキシーされるようにするというのが目的です。

ProxyPass / ! #←除外のため!マークをつけた
ProxyPass / http://localhost:8080/ #←8080へ

どなたか教えていただけると助かります。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2016/03/03 16:49

「ProxyPass / !」を設定しなければ、「/」にアクセスしたときにそのまま DocumentRoot を見に行ってプロキシーにならないと思うのですが、それではダメなのでしょうか? 「/」にアクセスしたときにどうしたいのか教えてください。
teramasa

2016/03/05 05:44

申し訳ありません。/login ではなく / でした。修正しましたので再度ご確認いただけますと幸いです。 / 以外をすべて proxy したいというのが目的です。 / 以外の想定されるアクセスをすべて proxypass に書くしかないのでしょうか・・。
guest

回答2

0

ベストアンサー

ProxyPassMatch ^/.+ http://localhost:8080/
ProxyPass / http://localhost
でどうですか

投稿2016/03/07 18:34

編集2016/03/07 18:58
kagi_shippo

総合スコア105

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teramasa

2016/03/08 02:12

ご回答ありがとうございます。試してみましたが、やはり / へのアクセスができなかったです。
kagi_shippo

2016/03/08 08:09

CentOS 6.7 + Apache/2.2.27 で試したところ、ポートベース、ネームベースとも意図する動作になりました。(SELINUX=disabled) ProxyPass以外の原因は考えられませんか。
teramasa

2016/03/08 14:05

kagi_shippo さん 度々ありがとうございます。本来は正しく動くみたいですね。私の環境でどこかおかしいところがあるか確認してみます。
guest

0

ProxyPassMatch は使えませんでしょうか。

ProxyPassMatch ^/$ ! ProxyPassMatch ^/index.html$ ! ProxyPass / http://localhost:8080/

投稿2016/03/06 08:52

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teramasa

2016/03/06 10:39

ご回答ありがとうございます。試してみたのですが、「ProxyPassMatch ^/$ !」が正常に動作しないようでした。ご教示いただいた下二つは正常な動きをしています。
TaichiYanagiya

2016/03/07 01:02

DirectoryIndex の設定はどうなっていますでしょうか。 例えば「DirectoryIndex index.php」としているならば、「ProxyPassMatch ^/index.php$ !」として除外してください。
teramasa

2016/03/08 02:12

ご回答ありがとうございます。DirectoryIndex index.html となっており、indexファイルの拡張子もhtmlです。うーん
TaichiYanagiya

2016/03/08 14:46

他に、RewriteRule などはありませんでしょうか。 .htaccess などにも。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問