[解決済み] ルートドメインCNAMEの制限を克服するには?
質問
私たちは顧客のために多くの Web アプリケーションをホストしています。 当然のことながら、彼らはそれらのアプリケーションを参照するために独自のドメインを使用したいと考えています。
http://www.customer1.example
または
http://customer1.example
はそのウェブアプリケーションに送られます。
私たちが直面している状況は、近い将来に IP アドレスを変更する柔軟性を持つ必要があるということです。 そして、顧客が自分のドメインで A レコードの変更を行うことに依存したくありません。 そこで、私たちは
CNAME
レコードを使用すればうまくいくと考えていましたが、その結果
CNAME
レコードはルートドメインでは機能しません。
基本的には
customer1.example IN CNAME customer1.mycompanydomain.example //this is invalid as the RFC
www.customer1.example IN CNAME customer1.mycompanydomain.example //this is valid and will work
の IP アドレスを変更できるようにしたい。
customer1.mycompanydomain.example
または
A
というレコードがあり、顧客は私たちが管理しているこのレコードに従うことになります。
は、私たちのDNSでは次のように表示されます。
customer1.mycompanydomain.example IN A 192.0.2.1
何かアイデアはありますか?
どのように解決するのですか?
sipwizとMrEvilの両氏に感謝します。 私たちは、ユーザーが入力した URL を解析し、貼り付ける PHP スクリプトを開発しました。
www
をその先頭に貼り付けるようにしました。(例:顧客が入力した場合
kiragiannis.com
と入力すると、次のようにリダイレクトされます。
www.kiragiannis.com
). そのため、お客様は自分のルート (例えば
customer1.com
を
A
を記録し(ウェブリダイレクタがある場所)、次に
www
CNAME
を本当の
A
のレコードに変換します。
あなたが将来の私たちのために興味を持っている場合には、以下のコード。
<?php
$url = strtolower($_SERVER["HTTP_HOST"]);
if(strpos($url, "//") !== false) { // remove http://
$url = substr($url, strpos($url, "//") + 2);
}
$urlPagePath = "";
if(strpos($url, "/") !== false) { // store post-domain page path to append later
$urlPagePath = substr($url, strpos($url, "/"));
$url = substr($url, 0, strpos($url,"/"));
}
$urlLast = substr($url, strrpos($url, "."));
$url = substr($url, 0, strrpos($url, "."));
if(strpos($url, ".") !== false) { // get rid of subdomain(s)
$url = substr($url, strrpos($url, ".") + 1);
}
$url = "http://www." . $url . $urlLast . $urlPagePath;
header( "Location:{$url}");
?>
関連
-
[解決済み] パイプとソケットの違いは何ですか?
-
[解決済み] カーネルソースプロジェクトのinclude/uapiに含まれるもの
-
[解決済み] pingレスポンス "Request timed out." vs "Destination Host unreachable" (リクエストがタイムアウトしました)。
-
[解決済み] ホストDNSサーバを使用したDocker-composeコンテナ
-
[解決済み] RPCサーバーが使用できません。(HRESULT: 0x800706BA による例外)。
-
[解決済み] GitHubプロジェクトページのカスタムドメイン
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
-
[解決済み】接続タイムアウトエラーを人為的に発生させる
-
[解決済み】TCPの代わりにUDPを使用することが適切なのはどんな場合ですか?[クローズド]
-
[解決済み】SCTPがあまり使われていない/知られていない理由
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オクテット・ストリングス それは何ですか?
-
[解決済み] SNMPのpingとは何ですか?
-
[解決済み] カーネルソースプロジェクトのinclude/uapiに含まれるもの
-
[解決済み] TCPのフロー制御と輻輳制御の違いは何ですか?
-
[解決済み] ホストDNSサーバを使用したDocker-composeコンテナ
-
[解決済み】接続タイムアウトエラーを人為的に発生させる
-
[解決済み】ローカルネットワーク内のすべての有効なIPアドレスのリストを取得する方法は?[クローズド]
-
[解決済み】TCPの代わりにUDPを使用することが適切なのはどんな場合ですか?[クローズド]
-
[解決済み】SCTPがあまり使われていない/知られていない理由
-
[解決済み] ゲストマシンからホストマシンにアクセスするにはどうすればよいですか?[クローズド]