社のサーバに Web サイトを置いて,DNS はクライアント持ちなんで名前を向こうが管理して, IP アドレスだけこっちに向けてもらう,と. つまり,うちのサーバ A.co.jp (xx.xx.xx.xx)に IP アドレス xx.xx.xx.zz を追加して, apache の VirtualHost 名 B.com を設定するとしよー.
で,相手側の DNS には,
B.com IN A xx.xx.xx.zzみたいに書いてくれることを期待してたわけですよ.
ところが,相手側からアクセスすると A.co.jp のデフォルトの VirtualHost が表示されてしまうという. よくよく聞いてみると,どうやら相手側では,B.com の zone ファイルの中に,
A.co.jp IN A xx.xx.xx.zzと設定したらしいですよ.
B.com IN CNAME A.co.jp
A.co.jp をそっちに書いちゃダメだろー.エラーになんないのかなコレは? 「自分の手元にないマシンの名前には A レコードを作らず, 「そのマシンの本当の名前」に対して CNAME を作る」というのが,相手側の管理者のポリシらしい.
で,実際に起こってる現象としては...えーと,B.com を resolve しようとすると, A.co.jp のアドレスを調べに行くんだけど,A.co.jp は xx.xx.xx.xx なので, アドレス ~.xx に Hostname: B.com でアクセスしに行って, けど apache は B.com は ~.zz に設定してあるんでマッチせず, だからデフォルトの VirtualHost が表示された...ってことかなぁ?
まぁこっちのマシンに付けた xx.xx.xx.zz に対してユニークになる A.co.jp に代わる名前を付けてあげれば,その名前を相手側で CNAME 参照できるわけですが. てゆーか相手のトコで素直に A xx.xx.xx.zz を付ければいいんだっつーの. 明日はソレを試してもらおう.