我在我的服务器中创建了一个虚拟主机,我想为其设置 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>
您只需为您的 VirtualHost mywebsite.com 使用不同的 SSL 证书即可 我看到您正在使用 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年7月17日到期。获取新版本或调整版本 以后再使用此证书时,只需再次运行 LetsEncrypt-Auto 即可。 要以非交互方式续订all您的证书,请运行 “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
我所做的是为子域创建一个目录:
/var/www/sponsorship.jaimemontoya.net
。然后我在 http://etc/apache2/sites-available/
中为子域创建了 .conf
文件,具体是这样的:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName sponsorship.jaimemontoya.net
ServerAlias www.sponsorship.jaimemontoya.net
DocumentRoot /var/www/sponsorship.jaimemontoya.net
ErrorLog /error.log
CustomLog /access.log combined
</VirtualHost>
</IfModule>
我使用
a2ensite sponsorship.jaimemontoya.net.conf
启用了我的新 Apache 站点/虚拟主机。最后,我使用 systemctl reload apache2
激活了新配置。
我在 https://jaimemontoya.com/blog/2023/11/17/13/08/ 发布了整个解决方案的所有详细信息,就我而言,我需要的是在同一服务器上拥有两个网站:一个位于
jaimemontoya.net
,另一个位于 sponsorship.jaimemontoya.net
。