为我的虚拟主机设置SSL

问题描述:

我在我的服务器中创建了一个虚拟主机,我想为它设置HTTPS。 我抄另一个虚拟主机文件,但我得到为我的虚拟主机设置SSL

“您的连接不安全”

文件正常工作与其他站点(站点1)。我是否应该为第二个网站创建不同的证书(mywebsite.com)?如果是的话,那我该怎么做。 这里是我的/etc/apache2/sites-available/www.mywebsite.com.conf

<VirtualHost *:80> 

     ServerAdmin [email protected] 
     ServerName www.dev.clevvermail.com 
     DocumentRoot /var/www/vhosts/ww.mywebsite.com-dev/current   
     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
     Redirect 301/https://www.mywebsite.com/ 
</VirtualHost> 

<IfModule mod_ssl.c> 
     <VirtualHost *:443> 
       ServerAdmin [email protected] 
       DocumentRoot /var/www/vhosts/mywebsite.com-dev/current 
       ServerName www.dev.clevvermail.com 
       ErrorLog ${APACHE_LOG_DIR}/error.log 
       CustomLog ${APACHE_LOG_DIR}/access.log combined 
       SSLEngine on 
       SSLCertificateFile  /etc/letsencrypt/live/www2.site1.com-0001/cert.pem 
       SSLCertificateKeyFile /etc/letsencrypt/live/www2.site1.com-0001/privkey.pem 

     <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
       SSLOptions +StdEnvVars 
     </FilesMatch> 
     <Directory /var/www/vhosts/mywebsite.com-dev/ > 
       Options Indexes FollowSymLinks 
       AllowOverride All 
     </Directory> 
     <Directory /usr/lib/cgi-bin> 
       SSLOptions +StdEnvVars 
     </Directory> 
      SSLCertificateChainFile /etc/letsencrypt/live/www2.site1.com-0001/chain.pem 
</VirtualHost> 
</IfModule> 
+0

您需要每个虚拟主机/域的SSL证书。您不能将abc.com的SSL证书用于xyz.com域,反之亦然。您必须为域xyz.com添加另一个虚拟主机,等等...... –

你必须简单地使用不同的SSL证书为您的虚拟主机mywebsite.com 我看你使用Letsencrypt这样你就可以创建一个新的证书如下(你说的证书对于site1的正常工作,从而安装Letsencrypt罚款):

cd /opt/letsencrypt 

您可以查看谁正在使用的端口443:

sudo netstat -t -l -n -p | grep 443 

大多数时候这将是Apache的,所以停止:

sudo service apache2 stop 

创建证书

sudo -H ./letsencrypt-auto certonly --standalone -d www.mywebsite.com 

您将获得:

重要提示: - 祝贺!您的证书和链条已保存在/etc/letsencrypt/live/www.mywebsite.com/fullchain.pem。您的证书 将于2017-07-17到期。要获得未来此证书的新版本或经过调整的版本,只需再次运行letsencrypt-auto即可。 非交互式更新所有你的证书,运行 “letsencrypt-自动更新”

然后将其设置为的.conf文件重新启动的Apache2

... 
SSLCertificateFile  /etc/letsencrypt/live/www.mywebsite.com/cert.pem 
SSLCertificateKeyFile /etc/letsencrypt/live/www.mywebsite.com/privkey.pem 
... 

不要忘记启动Apache:

sudo service apache2 start 
+0

谢谢,这非常有帮助。它的作用就像魅力 –