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

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

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

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

proxy

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

Q&A

解決済

1回答

4041閲覧

Apacheリバースプロキシ設定について

tk_flavor

総合スコア104

Apache

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

proxy

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

0グッド

1クリップ

投稿2016/02/18 13:09

編集2016/02/18 13:23

今回、異なるDC拠点間でサーバリプレイスを行う事になりました。
A拠点にあるwebサーバをB拠点側に移設します。
DNSのAレコード変更のためDNS浸透を考慮に入れないといけません。

やりたい事は、DNS浸透するまでは、A拠点にアクセスにきたお客さんをB拠点に誘導して
サービスページを見せる事です。(メンテナンス時はメンテナンスページを見せます)
urlは変更にならずに、グローバルIPのみが変更となります。

アクセスurl
https://a.xxx.com/item/?=ON&=123456784d425375

やり方としてはWEBサーバ側でリバースプロキシで対応しようとなりました。
お客さんがアクセスしてくるurlにはパラメータが付いてきまして
このパラメータを考慮した形でどう設定すればいいのか頭を悩ませております。

まだ検証前なのですが、下記のような感じでいいのかなと思ったりしているのですが
ご教授頂けますと幸いです

Redirect permanent /item/(.*) https://a.xxx.com/item
ProxyPassReverse /item https://[B拠点での新規WEBサーバ側グローバルIPアドレス]/item

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

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

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

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

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

takotakot

2016/02/19 11:29

「DNS浸透」が誤った考え方であることはお伝えしておきます。
tk_flavor

2016/02/19 12:02

WEBサーバの外部AレコードのIPアドレスを変更します。 その浸透状況によっては古い拠点側のサーバにアクセスが行きます それをDNS浸透と言うと思います
tk_flavor

2016/02/19 12:05

名前解決に時間がかかります
takotakot

2016/02/19 12:10

浸透よりはましな表現だとは思います。 A レコードの書き換えのみの場合、最長 TTL 相当の時間、(キャッシュのために)新しい設定が読み込まれないクライアントが存在する可能性があります。
takotakot

2016/02/19 12:21

はい、その方が書いていらっしゃるように http://www.geekpage.jp/blog/?id=2011/10/27/1&p=4 『このような仕組みから、DNSの情報は「浸透」や「伝播」するようなものではありません。 』『「DNSの浸透」という表現によって、あたかも「DNS権威サーバの設定を変更したけれど、その情報が反映される時期は神のみぞ知る」というようなイメージを持ってしまい、障害発生箇所を特定することを放棄してしまうのが大きな問題です。 実際には何かの障害が発生している状況のときに「DNSの浸透」という、それっぽい説明があると、それを聞いて納得してしまい、本質的な仕組みを勉強する意欲(もしくは機会/必要性/意識)を奪ってしまいます。』なので、浸透という表現は使わないようにお勧めした次第です。 全てわかって使っていらっしゃるのであれば、分かりました。
tk_flavor

2016/02/19 13:04

浸透と言う言葉はDNSで変更作業する時など使い勝手のいい言葉で なんでも浸透の影響で・・・とか話したりしています。 お客さんとかも、世間一般で浸透している言葉の方がいいでしょうし、 それをそのままこちら側もなんでも浸透で済ませてしまうということになっています。 また勉強し直します。
takotakot

2016/02/19 13:09

使い勝手がいいんですよね~。…ので、避けたいのですが、たまに「いわゆる浸透」と使ってしまうことがあります。お付き合い頂き、ありがとうございました。
guest

回答1

0

ベストアンサー

Redirect でクライアントに URL を返しても、a.xxx.com の名前解決で再度 A の IPアドレスになってループするのではないでしょうか。
ProxyPass を使うといいと思います。

投稿2016/02/18 15:12

TaichiYanagiya

総合スコア12146

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

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

takotakot

2016/02/19 05:46

援護: 「Apacheリバースプロキシ」というタイトルは合っているので、設定するだけですよね。 A 側からは IP を使っておくか、/etc/hosts に a.xxx.com が B の IP を示すような 設定を書いた上で(ループを避けるため)、 http://webos-goodies.jp/archives/51261261.html みたいなことをすれば OK ですね。URL をクライアントに返しても意味がないので、コンテンツを返します。
tk_flavor

2016/02/19 09:34

ご回答ありがとうございます ProxyRequests off ProxyPreserveHost on ProxyPass / http://[B側IPアドレス]/ ProxyPassReverse / http://[B側IPアドレス]/ の設定で80ポートはB拠点にあるサーバにアクセスログが乗ってきてページ閲覧も出来ました。 1点、再度質問させて下さい。 443ポートででもB拠点側に転送させたいため ssl.confにも同じ設定を入れてみたのですが、A拠点側のssl_access.logに 入ってきました。 ssl.confには、 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so の記述がなかったのです追記しています。 ssl.confに設定する時には、別途設定などが必要でしたでしょうか。 ご教授頂けますと幸いです。
TaichiYanagiya

2016/02/19 09:50

ssl.conf は「<VirtualHost _default_:443>」内に ProxyPass などを設定する必要があります。
tk_flavor

2016/02/19 10:37

今回、やりたい事はこれで実現出来そうです。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問