我在服务器中创建了一个虚拟主机,我想为它设置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>
答案 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
...