Linux

為了在具有多個虛擬主機的伺服器上為單個域啟用 SSL,此配置是否有效?

  • April 6, 2014

我剛剛購買了一個 SSL 證書來保護/啟用具有多個虛擬主機的伺服器上的一個域。我計劃如下配置(非 SNI)。此外,我仍然想通過我的伺服器的 IP 地址安全地訪問 phpMyAdmin。下面的配置會起作用嗎?我只有一次機會讓它在生產中發揮作用。有沒有多餘的設置?

---apache ssl.conf file---

Listen 443 

SSLCertificateFile /home/web/certs/domain1.public.crt
SSLCertificateKeyFile /home/web/certs/domain1.private.key
SSLCertificateChainFile /home/web/certs/domain1.intermediate.crt

   ---apache httpd.conf file----
   ...
   DocumentRoot "/var/www/html" #currently exists
   ...
   NameVirtualHost *:443 #new - is this really needed if "Listen 443" is in ssl.conf???
   ...
   #below vhost currently exists, the domain I wish t enable SSL) 
   <VirtualHost *:80>
        ServerAdmin info@domain1.com
        ServerName domain1.com
        ServerAlias 173.XXX.XXX.XXX
        DocumentRoot /home/web/public_html/domain1.com/public
   </VirtualHost>

   #below vhost currently exists.
   <VirtualHost *:80>
     ServerName  domain2.com
     ServerAlias www.domain2.com
     DocumentRoot /home/web/public_html/domain2.com/public
   </VirtualHost>

   #new -I plan on adding this vhost block to enable ssl for domain1.com!
   <VirtualHost *:443>
        ServerAdmin info@domain1.com
        ServerName www.domain1.com
        ServerAlias 173.XXX.XXX.20

        SSLEngine on
        SSLProtocol all
        SSLCertificateFile /home/web/certs/domain1.public.crt
        SSLCertificateKeyFile /home/web/certs/domain1.private.key
        SSLCACertificateFile /home/web/certs/domain1.intermediate.crt

        DocumentRoot /home/web/public_html/domain1.com/public
   </VirtualHost>

如前所述,我希望能夠通過儲存在“var/www/html/hiddenfolder”下的“ https://173.XXX.XXX.XXX/hiddenfolder/phpmyadmin ”訪問 phpmyadmin

你想做的是SNI。IP 地址實際上是協商中的主機名。

您的配置會將 domain1.com 和https://173.XXX.XXX.20 指向同一個目錄。

您有 4 個選項:

  1. SNI
  2. 獲得額外的 IP
  3. 在您擁有的一個 SSL 證書下為 phpmyamin 創建一個別名
  4. 只需在另一個埠上監聽 SSL 並讓 IP 主機名使用它。例如https://173.XXX.XXX.20:444

您列出的配置很可能會給您帶來一些麻煩。使用您想要執行的解決方案編輯您的問題.. 或評論此回复

引用自:https://serverfault.com/questions/379544