私は2つの異なるドメイン名を持っていますが、これを同じプライベートホスティングでホストします。私は彼らに同じIPアドレスを指してもらいたいが、それでも(もちろん)内容が異なるようにしたい。どうやってやるの?これを行う別の方法はありますか?その場合、最善の方法は何ですか。ありがとう。
あなたはおそらくApacheの仮想ホスティングを使用したいと思うでしょう。これは、単一のIPアドレスで多くのドメインをホストするための十分にサポートされている方法です。
http://httpd.Apache.org/docs/2.2/vhosts/
具体的には、名前ベースの仮想ホスト: http://httpd.Apache.org/docs/2.2/vhosts/name-based.html
Apache2は、すべてのドメインが同じIPアドレスに解決される場合でも、ドメイン名に応じて異なるコンテンツの提供をサポートします。各ドメイン名は仮想ホストによって処理されるため、名前の名前ベースの仮想ホスト。
2つのドメインの構成例を以下に示します。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:80>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
名前ベースの仮想ホストのサポートはこちら に関する公式ドキュメントがあります。
ただし、これはプレーンHTTP接続でのみ機能し、HTTPS(HTTP over SSL)では機能しないことに注意してください。名前ベースの仮想ホストは、要求されている名前の認識に依存していますが、この情報は暗号化されたSSLまではApacheに認識されません。接続が確立されました。
設定をHTTPSでも動作させる必要がある場合は、SSLプロトコルの拡張機能に依存する必要があります(== --- ==)サーバー名表示(SNI)(- RFC4366 )。基本的に、SNI対応のクライアント(例:Webブラウザー)は、暗号化されたSSL接続を確立するときに追加のプレーンテキスト情報を追加し、SSL接続の準備ができる前にサーバーが要求されている名前を認識できるようにします。
すべてのブラウザーはまだSNIをサポートしていません。執筆時およびウィキペディアによれば、これらは次のとおりです。
HTTPSを介してアクセス可能な複数の名前ベースの仮想ホストをホストするには、mod_sslを有効にし、上記の例と同様の構成を追加する必要があります。
Listen 443
NameVirtualHost *:443
# Accept connections for these vhosts from non-SNI clients
# Clients without SNI will be handled by the first defined vhost.
# If you only want SNI-enabled client, put on instead
SSLStrictSNIVHostCheck off
<VirtualHost *:443>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:443>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
SSLを使用するには、ドメイン用のSSL証明書を購入するか、自動署名された証明書を生成し、SSL接続にそれらを使用するようにApacheを設定する必要があることに注意してください。