为我的虚拟主机设置 SSL

问题描述 投票:0回答:2

我在我的服务器中创建了一个虚拟主机,我想为其设置 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>
apache ssl
2个回答
0
投票

您只需为您的 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

0
投票

我所做的是为子域创建一个目录:

/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

© www.soinside.com 2019 - 2024. All rights reserved.