簡體   English   中英

Apache VirtualHost多域多個SSL

[英]Apache VirtualHost multiple domain multiple SSL

嗨我有以下用例,我有一個應用程序(讓我們稱之為foobar)在遠程服務器/ var / www / foobar上我有以下Apache VirtualHost conf

<VirtualHost *:80>
  DocumentRoot /var/www
  # This is to redirect http traffic to https
  Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
  SSLEngine On
  SSLCertificateFile /etc/ssl/certs/example.com.crt
  SSLCertificateKeyFile /etc/ssl/private/example.com.key
  SSLCertificateChainFile /etc/ssl/certs/example.com.bundle.crt

  ServerName example.com:443
  DocumentRoot /var/www/foobar
</VirtualHost>

它的工作一切都很好。 現在假設我有另一個域example2.com,我希望它指向相同的foobar應用程序。 我目前的想法是在下面創建另一個VirtualHost,就像這樣

<VirtualHost *:443>
  SSLEngine On
  SSLCertificateFile /etc/ssl/certs/example2.com.crt
  SSLCertificateKeyFile /etc/ssl/private/example2.com.key
  SSLCertificateChainFile /etc/ssl/certs/example2.com.bundle.crt

  ServerName example2.com:443
  DocumentRoot /var/www/foobar
</VirtualHost>

但我想知道這是做這樣的事情的正確方法嗎? 我需要兩個域都是“獨立的”所以我沒有從example2.com永久重定向到example.com

您可以執行以下操作,您可以使用服務器別名,此外我也沒有看到有2個虛擬主機的錯誤。

<VirtualHost *:443>
    ServerName example1.com
    ServerAlias example2.com
    SSLEngine on
    SSLCertificateFile  /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/testlink

</VirtualHost>

如果您無法獲得證書錯誤,則可以使用通配符CN創建證書。 例如: *.com這將匹配example1.com和example2.com。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM