• ベストアンサー
  • 困ってます

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

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

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数2047
  • ありがとう数6

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

  • ベストアンサー
  • 回答No.4

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • nslookupするとローカルドメインが追加されてしまう

    お世話になります。 DNSサーバーを構築して(bind8.3.1 for Solaris)同サーバーにて nslookupを実行するとおかしな事象が発生します。 ローカルドメイン(仮): xxx.co.jp DNSサーバー名(仮): mydns.xxx.co.jp DNSサーバーIP(仮): 10.10.10.99 DNSが引けた場合は問題ないのですが、引けなかった場合、通常 # nslookup hogehoge.co.jp Server: mydns.xxx.co.jp Address: 10.10.10.99 *** mydns.xxx.co.jp can't find hogehoge.co.jp: Non-existent host/domain のようになるはずなのに、 # nslookup hogehoge.co.jp Server: mydns.xxx.co.jp Address: 10.10.10.99 Name: hogehoge.co.jp.xxx.co.jp のように、サーチしたドメインの後ろにローカルドメインが付随して表示されてしまいます。 IPでサーチした場合はもちろんこのようにはなりません。 resolv.conf や named.conf も調べたのですがよくわかりません。 どなたかご見当が付く方がいらっしゃいましたらご教授いただければ幸いです。

  • htaccess で特定IP以外をリダイレクト

    特定IPの以外のアクセスは指定URLへリダイレクトさせたいのですが、うまく行きません。 ↓のように.htaccessに記述しているのですが間違っているんでしょうか? ------------------------------------------- order allow,deny allow from XXX.XXX.XXX.XXX deny from all ErrorDocument 403 http://yahoo.co.jp ------------------------------------------- 「XXX.XXX.XXX.XXX」のIPは自分のIPを記述しているので、yahooにリダイレクトされないのが正しい動作なのですがyahooへリダイレクトされてしまいます。 お詳しい方がおられましたらご回答宜しくお願い致します。

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

    hogehoge.comというドメインがあり、 複数のサブドメインを利用しております。 https://abc.hogehoge.com/ https://def.hogehoge.com/ https://ghi.hogehoge.com/ Linuxサーバではサブドメインごとにディレクトリがあり /var/www/html/abc /var/www/html/def /var/www/html/ghi となっております。 今回ドメインの変更があり new-domain.comになったとして、それぞれのサブドメインにアクセスされた時に以下のURLに301リダイレクトさせたいと考えております。 転送先:https://abc.new-domain.com/ 転送元:https://abc.hogehoge.com/ 転送先:https://def.new-domain.com/ 転送元:https://def.hogehoge.com/ 転送先:https://ghi.new-domain.com/ 転送元:https://ghi.hogehoge.com/ 他のディレクトリには影響させたくないので 各ディレクトリに.htaccessを置きリダイレクトさせたいのですが、 それぞれの.htaccessは同じ中身(汎用的)にする事は可能でしょうか? 301リダイレクトについて不慣れで困っております。 恐縮ですが、どなたかご助力頂きたいと思います。

その他の回答 (3)

  • 回答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アクセスの基本的な設計ミス」なので、根本的な部分からの改修が必要でしょう。 そういう訳で「正しく記述し、正しく設計している限り、新旧のサーバでアクセスが混じってしまう事はない筈」です。 アクセスが混じってしまうとしたら「正しく記述してない」か「設計が破綻している」ので、多分「サーバを引っ越ししてドメインが変わった時に、古いドメインを指している記述が残っていて正しく動作せず、全ソースの見直し」を迫られるでしょう。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.2

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.1

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • DNS リダイレクト

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

  • htaccessで、特定IP以外をリダイレクトさせたい。

    初心者です。 .htaccessを使ってメンテナンス画面を表示させようと思っています。 条件として、 ・特定のファイルへのアクセスを、リダイレクトさせる。 ・動作確認を行うため、自分のIPの場合はリダイレクトさせない。 ファイルに対してのリダイレクトは、 Redirect /aaa/aaa.php /maintenance/maintenance.html 特定IPに対して、ディレクトリ単位のリダイレクトは、 order deny,allow deny from all allow from xxx.xxx.xxx.xxx ErrorDocument 403 /maintenance/maintenance.html というところまでは解決したのですが、 「特定IPに対して、ファイル単位のリダイレクト」 は、どのように指定すればよいのでしょうか?

    • ベストアンサー
    • HTML
  • .htaccessリダイレクト

    .htaccessリダイレクト 別ドメインにリダイレクトさせるための方法が分からないので、質問させてください。 現在http://www.aaaaa.jp/aaa/bld_list.phpにアクセスしたときに http://www.bbbbb.jp/bbbにリダイレクトさせようとしています。 googleで「別ドメイン .htaccess リダイレクト」など色々検索してみたのですが、 なかなか出て来なく、困っています。 どなたかアドバイスいただけないでしょうか?

  • 正しいドメインリダイレクトの方法

    www.aaa.com と www.bbb.com の二つのドメインをエイリアス設定?してあって、どちらのドメインにアクセスしても同じファイルを閲覧する状態になっています。 それを今後、www.aaa.com のみで運用するため、一定期間 www.bbb.com のドメインからリダイレクトで www.aaa.com へ転送する設定をしたいと思っています。いろいろしらべると htaccess で301リダイレクトをするのがSEO上、正しい方法であると書かれていたのですが、、、 上記のような条件で、下記のようなhtaccessで設定しようとすると、 Redirect permanent / http://www.aaa.com サーバでリダイレクトが連続(同じファイルを何度も読み込む)して、サーバエラーになってしまいます。 ↓この人と同じような状態です。 http://q.hatena.ne.jp/1115614347 そこで、 <script type=”text/javascript”> <!-- if (location.hostname == ’www.bbbcom’) location.replace(’http://www.aaa.com/’); // --> </script> と設定すると、希望どおりの動作をしてくれるのですが、 SEOスパムとみなされる可能性があると書かれていたりして不安です。 こういった場合、正しい設定の方法はどのような方法がありますでしょうか?

    • ベストアンサー
    • HTML
  • Webドメインだけのドメイン移管(メールドメインはそのまま残す)について教えてください。

    現在ドメイン移管の調整を行っています。 要件は下記の通りです。 旧コンテンツ管理会社(A社)から新コンテンツ管理会社(B社)へドメイン(move.jp)の移管を行いたい。 ドメイン移管はWebコンテンツのみをA社へ移管し、メールドメインはB社のまま使い続けたい。 こういった要件で、現状DNSは下記のように設定されていると仮定します。 レジストリ:move.jp(ドメイン)⇒yyy.yyy.yyy.dns A社DNSサーバIP:xxx.xxx.xxx.dns A社WebサーバIP:xxx.xxx.xxx.web A社MailサーバIP:xxx.xxx.xxx.mail A社DNS設定  (現状はmove.jpドメインを管理していないので何もなし) B社DNSサーバIP:yyy.yyy.yyy.dns B社WebサーバIP:yyy.yyy.yyy.web B社MailサーバIP:yyy.yyy.yyy.mail B社DNS設定 move.jp NS ns.move.jp ns A yyy.yyy.yyy.dns www A yyy.yyy.yyy.web move.jp MX mail.move.jp mail A yyy.yyy.yyy.mail 今回ドメイン移管に当たっては、変化点を少なくするためB社のDNS設定はできれば行いたくありません。 移管に当たっては、下記のように設定すれば正常に移管できるのでしょうか? それとも、やはりB社のDNS設定も変更する必要が必ずありますでしょうか? ドメイン移管時 レジストリ:move.jp(ドメイン)⇒xxx.xxx.xxx.dns A社DNS設定 move.jp NS ns1.move.jp ns1 A xxx.xxx.xxx.dns www A xxx.xxx.xxx.web move.jp MX mail.move.jp mail NS ns.move.jp ns A yyy.yyy.yyy.dns B社DNS設定 move.jp NS ns.move.jp ns A yyy.yyy.yyy.dns www A yyy.yyy.yyy.web (<- 使われないと思うので消す) move.jp MX mail.move.jp (<- 使われないと思うので消す) mail A yyy.yyy.yyy.mail よろしくお願いします。

  • バーチャルホストで2個のIPを同じドメインに当てる方法

    はじめまして。 現在、ネームベースでのバーチャルホストで約20のドメインを運用しているのですが、諸事情があり、現在のIPを別のIPに変更する必要が出てしまいました。そこで、分からないことがあり、困っております。ご存知の方がいらっしゃいましたら、ご教授下さい。 まず、新しいIPアドレスを申請して下記のような例でサーバーに追加設定をしました。 210.111.111.111(現IP) 210.222.222.222(新IP) この2つが1つのNICに乗っており、現状2個のIPを持っています。 現IPから新IPにシームレスにドメインを移行させたいのですが、バーチャルホストの設定は、下記のようする事は可能なのでしょうか? ■httpd.confのバーチャルホスト記述部分 #hogehoge.com <VirtualHost 210.111.111.111:80> ServerName hogehoge.com:80 ServerAlias www.hogehoge.com DocumentRoot /var/www/vhosts/hogehoge.com/httpdocs </VirtualHost> <VirtualHost 210.222.222.222:80> ServerName hogehoge.com:80 ServerAlias www.hogehoge.com DocumentRoot /var/www/vhosts/hogehoge.com/httpdocs </VirtualHost> #fugefuge.com <VirtualHost 210.111.111.111:80> ServerName fugefuge.com:80 ServerAlias www.fugefuge.com DocumentRoot /var/www/vhosts/fugefuge.com/httpdocs </VirtualHost> <VirtualHost 210.222.222.222:80> ServerName fugefuge.com:80 ServerAlias www.fugefuge.com DocumentRoot /var/www/vhosts/fugefuge.com/httpdocs </VirtualHost> --------------------------------------------------------------- 仮に、上記が可能だったとして、もう一つDNS(BIND)の設定の問題があります。 ■fugefuge.comのゾーンファイル $TTL 86400 @ IN SOA ns.fugefuge.com. root@fugefuge.com ( 1201933204 10800 3600 86400 10800 ) fugefuge.com. IN NS ns.fugefuge.com. ns.fugefuge.com. IN A 210.111.111.111 fugefuge.com. IN A 210.111.111.111 fugefuge.com. IN MX 10 mail.fugefuge.com. --------------------------------------------------------------- このゾーンファイルを、現IP(210.111.111.111)から、新IP(210.222.222.222)に変更したとします。 その場合の名前解決は、下記のnamed.confのallow-transferに、現IPと旧IPを書き込むことで解決できるのでしょうか? ドメイン(fugefuge.com)のDNS切り替えを申請したときのプロバケーション時に、データベースが更新されていないDNSから、 旧IP宛にリクエストが合った場合に、新IPへ転送してくれるのでしょうか? ■/etc/named.confのfugefuge.comの記述部分 zone "fugefuge.com" { type master; file "fugefuge.com"; allow-transfer { 210.111.111.111;210.222.222.222; common-allow-transfer; }; }; --------------------------------------------------------------- 長くなり、分かりにくい部分があるかもしれませんが、どうぞよろしくお願いします。

  • SSLのURLを通常URLへリダイレクト

    ホームページのSSLページ質問させてください。 現在webサイトを移転しました。 通常のhttpでは表示できるのですが、新サーバーでSSLの準備が間に合わず https で閲覧できなくなってしまいました。(ブラウザで警告・エラーが出てしまいます。) 検索エンジンなどで https://xxx.com で登録されているため、http://xxx.comへアクセスしてくださいとは言えない状況です。 当然.htaccess等でのリダイレクトは意味が無いと思います。 https://xxx.com へのアクセスを http://xxx.com へブラウザの警告を出さずにリダイレクトさせることは可能でしょうか? サーバーはレンタルサーバー(CPIサーバー)を使っています。 ドメイン管理はクライアントが行っていますので、ある程度は触れる状態であると思います。 無理な質問かと思いますが、皆様のお力をお貸しいただきたく思います。 宜しくお願いいたします。

  • ドメインについて

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

  • ipでは、見えるのにドメインだと、見えません。

    http://192.168.xx.xx/hello.php では、表示されるのに http://hogehoge/hello.php では、ページを開けません。サーバーが見つかりません。 と表示されます。 ちなみにwindowsだと問題ありません。 macやipadの場合だけです。 ルーターの問題でしょうか? osはubuntu14.04のローカルサーバーです。 DNSサーバーはインストールしてないです。 ご教授お願いいたします。

  • 別のIPに変わったのですが問題ないですか?????

    adslの環境でルータ機能付きのモデムからブリッジにして別のルータに管理させたところ、DNSサーバーのIPあどれすが変わってしまいました。そこで192.168.0.1はモデムを指していたのでしょうね。・・・別のIPに変わったのですが問題ないですか?????