• ベストアンサー

同じドメインで別のIPへのリダイレクト

お世話になります。 旧サーバ  ドメイン:http://hogehoge.co.jp IP:xxx.xxx.xxx.1 新サーバ  ドメイン:http://hogehoge.co.jp IP:xxx.xxx.xxx.2 上記のようなサーバがあったとして、ドメインはそのままでDNSを別のサーバに向けた時、 DNSが浸透するまでに多少の時間がかかると思います。 その際、旧サーバにアクセスがあった場合に新サーバへリダイレクトを する方法はありますでしょうか。 mod_rewriteでできるものなのでしょうか? どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.4

> 新旧サーバにデータが混ざってしまうのですが、これを回避するにはどのようにした方が ホスト名が変更できないのであれば、DNSのTTLを極力短くした上で、新サーバの稼働(=新しいIPでのDNSの稼働)と同時に古いサーバは停止した方がよいでしょうね。もっとも、全くアクセスできないと問題になるので、DNSのキャッシュが混在していると推測される時間帯はメンテナンスなどの理由でサービスを休止していることにした方がよいとは思います。 新しいサーバに新旧両方のIPアドレスを割り当てられるのであれば、TTLは短くしなくても大きな問題はないと思います。 いずれにしろ、新旧両方のサーバへのアクセスが混在して問題が生じるのであれば、サーバの並行運用はしない方がよいと思います。 # ホスト名が変更できるのであればもうちょっと楽なんですけどね。

yagisuke
質問者

お礼

>DNSのキャッシュが混在していると推測される時間帯はメンテナンスなどの理由でサービスを休止していることにした方がよいとは思います。 確かに休止しておくのが問題がおきなくて一番良い方法ですね。 DNSのTTLを極力短くし、サービス一時休止という方法でいきたいと思います。 どうもありがとうございました。

その他の回答 (3)

  • chie65535
  • ベストアンサー率43% (8508/19344)
回答No.3

>ブラウザで「http://hogehoge.co.jp」でアクセスして、それが旧サーバに流れた場合、 >リダイレクトされて「http://xxx.xxx.xxx.2」というようになるのでしょうか。 そうです。閲覧者のブラウザのアドレス欄には「http://xxx.xxx.xxx.2/hoo_bar.html」が表示される事になります。 >もしその場合、URLそのままでリダイレクトする方法はないでしょうか。 ありません。元のURL「http://hogehoge.co.jp」や「http://hogehoge.co.jp/hoo_bar.html」は、古いDNS情報を元に「http://xxx.xxx.xxx.1」や「http://xxx.xxx.xxx.1/hoo_bar.html」と解釈され、古いサーバーを見に行ってしまいます。 >旧サーバの方にいってしまうと新旧サーバにデータが混ざってしまうのですが、これを回避するにはどのようにした方がよろしいでしょうか? そういう事が起きるのは「URIに、自分自身を示すアドレスなのに、フルドメイン名を含んだ記述をしている場合」か「一旦、外部のサイトに出てから戻って来るようなリンクページがある時」ですよね? リソースの原始コードに「自分自身を示すアドレスなのに、フルドメイン名を含んだ記述」がある場合は、それを排除すれば済みます。 「一旦、外部のサイトに出てから戻って来るようなリンクページ」の場合は、外部のサイトに出た時点でセッションが切れる筈」なので「DBアクセスには何の問題も起こさない筈」です。 「セッションが切れているのにDBにアクセスを続けてしまう時」と言うのは、例えば、何らかのDB更新を終わらせた後、ブラウザの「戻る」や「履歴」を使ってページを巻き戻し「既にアクセスし終わって無効になったページを再表示しようしている時」な筈です。 もし、そういう状況で「無効ページを元に、DBを間違ったデータで再更新してしまう」としたら「DBアクセスの基本的な設計ミス」なので、根本的な部分からの改修が必要でしょう。 そういう訳で「正しく記述し、正しく設計している限り、新旧のサーバでアクセスが混じってしまう事はない筈」です。 アクセスが混じってしまうとしたら「正しく記述してない」か「設計が破綻している」ので、多分「サーバを引っ越ししてドメインが変わった時に、古いドメインを指している記述が残っていて正しく動作せず、全ソースの見直し」を迫られるでしょう。

yagisuke
質問者

お礼

なるほどですね。 参考になりました。ありがとうございました。

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

同一サブネット内でIPを移すのであれば、DNSのキャッシュが消えるまでサーバに新旧両方のIPアドレスを割り当てておけばよいでしょう。 サーバの移設とかプロバイダの切り替えなどでこの手が使えない場合は、DNSのTTLを短くして、DNSのキャッシュが残らないようにあらかじめ設定してから切り替えを行えば、影響を受ける時間は短くてすみます。

yagisuke
質問者

お礼

ありがとうございます。 確かにTTLを短くすれば影響を最小限にできますね。 WebとDBがサーバ内に同居している場合、システムが絡む(例えば、問い合わせフォーム等、DBにデータを登録する)ようなページが あった際に、旧サーバの方にいってしまうと新旧サーバにデータが混ざってしまうのですが、これを回避するにはどのようにした方が よろしいでしょうか? そのようなページは一時的に閉鎖させておくとした方がよいのでしょうか。 どうぞよろしくお願いいたします。

  • chie65535
  • ベストアンサー率43% (8508/19344)
回答No.1

生のWANアドレスを指定してリダイレクトすれば良い。 WANアドレスは「世界中に1つしかない」ので、DNSが浸透しようが浸透してまいが、お構いなしに「目的のサーバーに接続」される事になる。

yagisuke
質問者

お礼

ご回答ありがとうございます。 IPアドレスでリダイレクトさせるということでしょうか。 ブラウザで「http://hogehoge.co.jp」でアクセスして、それが旧サーバに流れた場合、 リダイレクトされて「http://xxx.xxx.xxx.2」というようになるのでしょうか。 もしその場合、URLそのままでリダイレクトする方法はないでしょうか。 どうぞよろしくお願いいたします。

関連するQ&A

  • IPアドレスのドメインを調べたいです

    xxx.xxx.xxx.xxxのアドレスからアクセスがあり、nslookupで調べると  Non-existent domain が返ってきて、DNSに未登録のホストからのアクセスのようです。 IPアドレスの範囲から割り当てられているドメインを知ることは可能でしょうか。 また地域、国名を知ることはできますでしょうか。 ネットワークに詳しい方、よろしくお願いします。

  • 301リダイレクトの設定について

    htmlコーディングの知識は多少あるのですが、サーバーの設定については全くの初心者です。 .htaccessリダイレクトの方法がわからないのでお教えください。 旧サイトが「https://www.sample.com/aaa/bbb/」にあったのですが、新しいサイトを「https://www.sample.com/ccc/」に作成しました。新サイトと旧サイトのディレクトリの構成はまったく異なります。 旧サイト全体に301リダイレクトを設定して旧サイトのどのページにアクセスしても新サイトのTOPページに移動させたいのですが、.htaccessの書き方がわかりません。 Googleでいろいろ検索し、下記のように記述した.htaccessファイルをbbbディレクトリに格納してみましたが、うまくいきませんでした。 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^aaa/bbb/(.*) /ccc/$1 [R=301,L] </IfModule> また、以下ではInternal Server Errorになりました。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.sample.com)(:80)? [NC] Redirect permanent /aaa/bbb/ RewriteRule ^(.*) https://www.sample.com/ccc/$1 [R=301,L] </IfModule> アドバイスをいただけないでしょうか。 よろしくお願いいたします。

  • IPアドレスとドメイン名

    まったく基礎的な質問ですみません。 OSはwindowsXP proです。 今、勉強中なのですが、IPアドレスとドメイン名の章で、HPのアドレスは例えば「219.101.XXX.xxx」とwwwサーバーに割り振られたIPアドレスを持っていて、数値の羅列はわかりにくいので、IPアドレスに対応するアルファベットと数値、一部の記号で別名を付けるようにしています。これがドメイン(ホスト名)名です。www.tatoe.co.jpなど。と記述してあるのです。 DNSサーバーはコンピュータにわかりやすいIPアドレスと人間にわかりやすいドメイン名を関連付けるサーバーです。DNSサーバーに「www.tatoe.co.jpのIPアドレスは?」とたずねると、DNSサーバは「219.101.XXX.XXX」と答えてくれます。その逆も可能です。とあります。 いろんなページを調べてみてもそのような事が書いてありますが、もし、自分のHPのIPアドレスを知りたいと思ったら、どのような画面でどのような手順を踏めばいいのでしょうか? JCOMでHPを持っていますが、やたら長いのです。 WWWサーバーに割り当てられたIPアドレスは大きな企業のみなのでしょうか。一意のアドレスだからみんな違いますよね。なんだかわからなくなってきました。 すみませんが、ご指導お願いします。 本の先に進むことができません。(;_:) 説明不足ではないかと悩みながら書いております。

  • 独自ドメイン+IP固定で公開中のサーバについて

    現在、あるプロバイダ(ADSL)で独自ドメイン+固定IPで サーバ1台(Linux)をメール・WEBを公開してます。 今回、別のプロバイダ(Bフレッツ)に乗り換えを検討、独 自ドメインと固定IPのひも付けが変わるので、ルートDN Sが書き換わった後でも数日は旧プロバイダ経由でメール が来るし、WEBアクセスもあると聞きました。 特にメールの取りこぼしは避けたいので、下記手順で移 行しようと思います。 サーバは1台しかありませんが、NICは2枚挿しです。 1.旧プロバイダ(固定IP)運用中、新プロバイダ(固定IP)  を開通させる  サーバNIC1と旧プロバイダ(ADSL)を接続、サーバNIC2  と新プロバイダ(Bフレッツ)を接続、独自ドメイン移行  (ルートDNS書き換わり)が終わっていないので、旧プロ  バイダ経由でメールが来る 2.独自ドメイン移行(ルートDNS書き換わり)、旧プロバイ  ダ・新プロバイダの並行稼動(数日間のみ)  世界中のDNSサーバのキャッシュが書き換わる数日の間  は、旧プロバイダ経由でも新プロバイダ経由でもメー  ルが来る 3.旧プロバイダ経由でメールが来なくなったことを確認  して、旧プロバイダ解約(NIC1から切り離し) ここで質問ですが、そもそも上記のようなことが可能な のか?教えてください。 DNS(BIND)の記述をどのようにしたらいいのか?分からな くなり、可能なのか?という疑問に至ってます。 よろしくお願いします。

  • サブドメインへ固定IP

    普通はしないと思いますが、複数のサブドメインに異なる固定IPを割り当ててwebサーバを運用することは可能ですか?DNSの設定に疎いので教えてください。 ex) hogehoge.comというドメインがあってsample1、sample2というサブドメインそれぞれに固定IPを割り当てる。 sample1.hogehoge.com 180.xxx.xxx.80 sample2.hogehoge.com 50.xxx.xxx.51

  • 自社ドメインにレンタルサーバ別サイトを追加

    お世話になっています。 現在、ドメインレジストラ Value-Domain にてドメイン(xxx.com)を登録し、自社Linuxサーバのアドレスを、Value-DomainのDNSに登録しています。 a * xxx.xxx.xxx.xxx a @ xxx.xxx.xxx.xxx メール等は省略 今回、別の用途でWindowsベースのWebサーバが必要になり、ExpressWeb様にてレンタルサーバを借りました。 登録時に「ドメイン名」を聞かれたので、xxx.com を登録したところまで完了しています。 この状態で、www、@(ホスト名なし)状態に加えて、www2というホストをExpressWeb側に作成したいのですが、どのようにしたらよいでしょうか? ・ExpressWeb側でDNSを有効にし、そこに現状のValue-DomainのDNS内容をコピーして、さらに新しい(ExpressWeb側のIPアドレス)でwww2レコードを登録する。 ・ExpressWeb側でDNSを無効にしたまま、Value-DomainのDNSで(ExpressWeb側のIPアドレス)を指すwww2レコードを登録する。 この場合、ExpressWebではホストを定義できないので、「サブドメイン」として作成する。 ExpressWebの登録で、www2.xxx.comが登録できれば問題ないのですが、あくまで登録は「ドメイン」名になるようです。 DNS設定が良く分かっていないので、変な事を言っていたら申し訳ありません。 レジストラ側のDNS登録で、さらにレンタルサーバ側のDNSホスト名を指定してもいいものなのでしょうか? また、その場合にはどう指定すればいいのか、ご教示ください。 Aレコードとか、CNAMEレコードでしょうか? よろしくお願いいたします。 m(_ω_)m

  • 301リダイレクトについて

    サーバーの移転を考えておりまして、ドメインには変更ないのですが、この場合、301リダイレクトの必要はないという認識でよかったでしょうか?? 閲覧者は、同様のURLへアクセスする事になり、googleのサイト巡回も同じドメインであれば、旧サーバーへ設置していたものは今までのものと違うものという認識になり、新しく移行させたサーバー(ドメインを新しく割り当てたもの)が認識されるので。 よろしくお願いいたします。

    • ベストアンサー
    • SEO
  • ドメイン名とipの連携について

    先日、ドメイン名と固定IPを各1つづつ取得しましたが、 取得した後、何をすれば、ドメイン名で指定のipにアクセスができるように なるのでしょうか。 例) 固定IP:111.222.333.444を取得(もちろんグローバルIP) ドメイン名:kari-domain.comを取得 111.222.333.444には、linuxでwebサーバを設置しています。 その為、直接ipにアクセスすれば、webのページが表示されます。 この状態で、例えば www.kari-domain.comにアクセスして同じページを表示したいのです。 DNSサーバに名前を設定する必要があるということはわかるのですが、 このDNSサーバって、自分で構築しないとダメなのでしょうか。 どこかのDNSサーバで、IPとドメイン名の関連つけ依頼できればその方が 楽なのでそうしたいのですが。 そのようなサービスはないでしょうか。 (実は、bindを設定しようとしてうまくいかずに挫折しています) よろしくお願いします。

  • ドメインについて

    ドメインやネームサーバーのことがいまいち理解できません。例えば、使うサーバーのグローバルIPアドレスがAだとして、www.xxx.comというドメインを使いたいとします。レンタルサーバー会社でドメインをとってもらうと、プライマリDNSを入力する必要がありますが、そこにはAを入力しないのですか?DNSのホスト名を書くのですか? また、後者(DNSのホスト名を書く)だとすれば、そのホスト名のDNSはなぜwww.xxx.comのファイルがAにあると分かるのですか?

  • DNS リダイレクト

    詳しくない分野のため、教えてください。 xxx.jpというドメインだけを新規取得し、yyy.jpというドメインを持つ既存サイト(サーバ)のページをxxx.jpで表示できるようにDNSの設定をしたいと考えています。 この場合、サイト閲覧者に認識されるurlはxxx.jpだけど、実際に表示されている内容やファイルはyyy.jpのものになるかと思いますが、 この状態を、 「yyy.jpからxxx.jpにリダイレクトする」 と表現するのは間違いでしょうか? そもそも、これはリダイレクトとは言いませんか? 私よりさらに詳しくない人へと説明をしなければならず、お力を貸してください。 前段の話でもおかしなところがあればご指摘いただけると助かります。