为我的虚拟主机设置SSL

时间:2017-04-18 11:01:46

标签: apache ssl

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

  

“您的连接不安全”

该文件适用于其他站点(site1)。我是否应该为第二个网站创建不同的证书(mywebsite.com)?如果是,那我该怎么办呢。 这是我的/etc/apache2/sites-available/www.mywebsite.com.conf

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        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 webmaster@localhost
                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>

1 个答案:

答案 0 :(得分:0)

您只需为VirtualHost使用不同的SSL证书 mywebsite.com 我看到你正在使用Letsencrypt,所以你可以创建一个新的证书如下(你说证书适用于site1,所以Letsencrypt安装得很好):

ListControl

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

cd /opt/letsencrypt

大部分时间它都是Apache,所以请停止它:

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

创建证书

sudo service apache2 stop

你会得到:

  

重要说明:     - 恭喜!您的证书和链已保存在/etc/letsencrypt/live/www.mywebsite.com/fullchain.pem。你的证书   将于2017-07-17到期。获取新的或经过调整的版本   将来这个证书,只需再次运行letsencrypt-auto。   要以非交互方式续订所有证书,请运行   &#34; letsencrypt-auto renew&#34;

然后将其设置为 .conf 文件,重启apache2

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

别忘了启动Apache:

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