
レコードを使用して、自分のドメインを自分が所有する別のドメインにリダイレクトしようとしていますA
。このプロセスは DigitalOcean Droplet では問題なく機能しました。A レコードに IPv4 アドレスを追加するだけで、リクエストは Droplet がホストしているものに直接送信されます。
ただし、リクエストを送信しようとしている Web サイトは共有ホスティングで運営されているため、Web サイトに ping を実行して取得した IP アドレスは、実際には Web サイトにリンクするものではなく、サイトがホストされているサーバーを使用するすべてのユーザーのランディング ページである、より広範な IP アドレスです。
GitHub Pages/Cloudflare ページ サイトを使用しようとすると、同じエラーが発生します。おそらく、基盤となるサーバーに対してクエリを実行しており、提供されている Web ページに対してクエリを実行していないため、404 が表示されます。
私の質問は2つあります:
- なぜこれは DigitalOcean では機能するのに、GitHub/Cloudflare では機能しないのでしょうか? Droplets も共有ホスティングであると想定していましたが、そうではないのかもしれません...?
- 別個のドロップレット全体を購入せずにリダイレクトを実行したり、ページをホストしたりする他の方法はありますか?
答え1
共有ホストに A レコードを設定するにはどうすればよいでしょうか?
共有ホストのレコードの設定方法A
は、他のホストの場合と同じです。違いはありません。正しい IP アドレスを使用すれば完了です。
しかし、そこにはいくつかの問題があり、おそらくあなたは間違った質問をしているでしょう:
共有ホスティング プラットフォームが既存のホスティング プランへの追加/カスタム ドメインの追加を明示的にサポートし、新しいドメインをホスティング プランに登録していない限り、プラットフォームは実際に追加ドメインを認識しません。
通常、共有プラットフォームはドメイン名を特定のアカウントに関連付けるように構成する必要があり、そうしないと、表示される一般的なランディング ページからわかるように、正しく応答しません。共有ホスティングプラットフォームでは、「正しい IP アドレス」
A
そもそもレコードで使用することはできません。CDNサービスを使用しているため、またはホスティングを中断することなくIPを自由に変更できるようにしたいからです。(多くの場合、レコードCNAME
ではなくレコードを設定することを推奨しますA
が、CNAMEはドメインに使用できないという問題があります。裸のドメイン / 頂点。
このプロセスは DigitalOcean Droplets では問題なく機能しました。なぜ DigitalOcean では機能するのに、GitHub/Cloudflare では機能しないのでしょうか? Droplets も共有ホスティングだと思い込んでいましたが、そうではないのでしょうか?
おそらく、ドロップレットにデフォルトのランディングページを設定していないことが原因です。ランディングページを明示的に設定していない場合(Webサーバーの専門用語では、「デフォルトの仮想ホスト」) 最初の/唯一の Web サイトが、常に表示されるデフォルトの Web サイトになります。
そのサイトは、正しいサイト名が使用されている場合だけでなく、たとえばサーバーの IP アドレスが使用されている場合や、サーバーの IP アドレスを指すランダムな不明なドメイン名が使用されている場合にも表示されます。
別個のドロップレット全体を購入せずにリダイレクトを実行したり、ページをホストしたりする他の方法はありますか?
既存のドロップレットで名前ベースの仮想ホスティングを使用します。