Apache の単一 IP サーバーに http ウェブサイトと https ウェブサイトをセットアップするにはどうすればよいですか?

Apache の単一 IP サーバーに http ウェブサイトと https ウェブサイトをセットアップするにはどうすればよいですか?

http ウェブサイトをセットアップしたい:http://example1.com、https ウェブサイト:https://example2.com次の構成を使用します。

Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
    ServerName example1.com
    DocumentRoot /var/www/example1.com/public_html
</VirtualHost>

<VirtualHost *:443>
    ServerName example2.com
    DocumentRoot /var/www/example2.com/public_html
    SSLCertificateFile...
    SSLCertificateKeyFile...
    SSLEngine On
</VirtualHost>

しかし、私が訪問するとhttps://example1.com、リダイレクトされますhttps://example2.com訪問する場合http://example2.com、リダイレクトされますhttp://example1.comこれは私が望んでいることではありません。https://example1.comそしてhttp://example2.com全く存在しません。どうすればいいでしょうか?

答え1

あなた意思さらに 2 つの VirtualHost ブロックを定義する必要があります。Apache がその名前に一致する VirtualHost を見つけられない場合は、ポートに属する最初の VirtualHost を使用します。

もちろん、同じ Web サイトを提供する必要はありません。

  • 一般的なエラーページなどを表示することができます404お探しのページが見つかりませんでしたこれは人々をイライラさせるでしょう。
  • の場合example2.com、RewriteRule を使用してすべての HTTP 訪問者を HTTPS にリダイレクトできます。
  • そうですねexample1.com、なぜ HTTPS 経由で提供しないのか本当に理解できません。

ただし、アクセス方法に関係なくドメインは同じであるため、ブラウザにドメインが存在しないと報告させることはできません。

関連情報