ホスティング業者に、すべてAレコードのIPを指す3つのサブドメインを追加するように依頼しました。ランダムなサブドメインが私のIPに解決されるため、彼は単にワイルドカードDNSレコードを追加したようです。他の場所を指すサブドメインがないため、技術的な観点からはこれで十分です。それから、私は彼が私が要求したことをしないことを好きではありません。それで、彼にそれを変えるように言う他の理由があるのだろうかと思います。いずれかがあります?
私が見つけた唯一の欠点は、誰かがhttp://i.dont.like.your.website.mywebsite.tld
を使用して私のサイトにリンクできることです。
そのドメインにコンピューターを配置した場合、奇妙なDNSエラーが発生します。インターネット上のランダムなサイトにアクセスしようとすると、代わりに自分のサイトに到達します。
検討:ドメインexample.com
を所有しています。ワークステーションをセットアップして名前を付けます。 ... yukon.example.com
としましょう。これで、/etc/resolv.conf
に次の行があることがわかります。
search example.com
これは、ホスト名の検索を実行できることを意味するので便利です。 www
は自動的にwww.example.com
を自動的に検索します。しかし、それは悪い面があります。たとえば、Googleにアクセスすると、www.google.com.example.com
が検索されます。ワイルドカードDNSがあれば、それはサイトに解決され、Googleに到達する代わりに終了します。あなた自身のサイトで。
これは、Webサイトを実行しているserverにも同様に適用されます。外部サービスを呼び出す必要がある場合、ホスト名の検索は同じように失敗する可能性があります。たとえば、api.Twitter.com
は突然api.Twitter.com.example.com
になり、サイトに直接ルーティングされますが、もちろん失敗します。
これが私がneverワイルドカードDNSを使用する理由です。
ワイルドカードDNSレコードは悪い習慣ですか?
個人的には嫌いです。特に、そのドメインにマシンがある場合。入力ミスはチェックされず、エラーはそれほど明白ではありません...しかし、根本的に問題はありません。
私が見つけた唯一の欠点は、誰かが http://i.dont.like.your.website.mywebsite.tld を使用して私のサイトにリンクできることです。
そのような要求をすべて、httpサーバーに適切な正規アドレスにリダイレクトさせるか、まったく応答させないようにします。 次のようなnginxの場合 :
server {
listen 80;
server_name *.mywebsite.tld;
return 301 $scheme://mywebsite.tld$request_uri;
}
そして定期的に
server {
listen 80;
server_name mywebsite.tld;
[...]
}
それはすべて意見の問題です。私にとってそれは悪い習慣ではありません。
テナントごとにデータベースを使用するマルチテナントアプリを作成しています。次に、サブドメインに基づいて、使用するデータベースを選択します。
たとえば、milkman.example.com
はtenant_milkman
データベースを使用します。
このように、tenant_milkman.users
、tenant_fisherman.users
、tenant_bobs_garage.users
のように、テナントごとにテーブルを分離しました。同じ表のすべての会社のユーザー。
[edit - Michael Hampton has a good point]
そうは言っても、私がそうであるように、あなたがしないでくださいが(可変)サブドメインを受け入れる特定の理由がある場合、それらを受け入れるべきではありません。
ここでのもう1つの問題はSEOです。すべての*.example.com
が同じコンテンツを表示している場合、ウェブサイトは少なくともGoogleによって不適切に参照されます( https://support.google.com/webmasters/answer/66359) )。
これは古い質問であることはわかっていますが、ワイルドカードドメインを使用すると問題が発生する可能性がある実例を共有したいと思います。ただし、ドメイン名を変更し、完全なSPFレコードを非表示にして、恥ずかしさを解消します。
チェックの一環として、DMARCで問題が発生している人を助けていたので、DigでDMARCレコードを常に調べていました。
;; ANSWER SECTION:
_dmarc.somedomain.com. 21599 IN CNAME somedomain.com.
somedomain.com. 21599 IN TXT "v=spf1 <rest of spf record> -all"
彼らのDKIMレコードを探しても、同じ結果が得られました。
したがって、このドメインから送信されたメールは、DKIMモジュールがDKIMキーのSPFレコードの解析を試みて失敗するため、DKIMが失敗し、同じ理由でDMARCのPermerrorも取得されます。
ワイルドカードドメインは良い考えのように思えるかもしれませんが、誤って設定すると、あらゆる種類の問題を引き起こす可能性があります。
1つのWebサーバーで1つのサブドメインa.company.comをホストし、別のWebサーバーでb.company.comをホストする場合は、別のISPである可能性があるとしましょう。あなたは何をしますか?したがって、ワイルドカードDNSはオプションではありません。正確でなければなりません。各サブドメインのAレコードを作成し、関連するIPをポイントします。 WebサーバーをあるISPから別のISPに移動する可能性があります。この場合はどうしますか?