どういうわけか特定の設定があります。それは本当に私が回避できないいくつかの制限によるものです:私が所有しているドメイン1と2、そして私が所有していない外部URLがあります:
私の目標は、 http://sub.start.com (および https:// .. 。)を http://target.com/my/site?a = 1 。今制限に:
私の目標を達成する方法は?これは私がこれまでに設定したものです:
何が機能するのか http://sub.root.com to http://target.com/my/site?a=1 。動作しないのは:
また、この正確な設定で私の目標を達成する方法はありますか? root.comのSSL証明書にsub.start.comとsub.root.comを含めることを考えています。これですべての問題が解決されますか?
私は、CNAMEエントリがstart.comのサーバーを「無視」することを期待していました。リクエストはroot.comに直接送信する必要がありますね。
誤った期待、そしてここで何度も何度も議論されています:リダイレクトはHTTPプロトコルで行われます。 CNAME
およびA
DNSレコードを使用して解決されると、DNSレベルで何が起こったかを認識せずに、要求はIPアドレスに直接送信されます。 CNAME
はHTTPリダイレクトを行いません。
次に、リクエストには、アドレスバーの元のホスト名がHTTP 1.1 Host
ヘッダーとして含まれます。
GET / HTTP/1.1
Host: sub.start.com
webサーバーは、その仮想ホスト用に構成されたコンテンツで応答します。このホスト名とこのホスト名だけが、ブラウザがアドレスをSSL証明書と比較するときにも使用されます。この比較は、ヘッダーが送信される前、およびリダイレクトが発生する前に行われます。
他のすべてのホスト名をWebサーバー構成で正規ホスト名へのリダイレクトとして構成すると、リダイレクトの問題が解決します。証明書にすべてのホスト名をサブジェクト代替名として含めると、ユーザーに表示されるエラーメッセージが解決されます。