如何使用 Ubuntu 22.04.2 LTS 服务器和 Apache 确保我的网站 SSL 安全

如何使用 Ubuntu 22.04.2 LTS 服务器和 Apache 确保我的网站 SSL 安全

我正在尝试通过 https:// 访问我的网站,但所有的努力都白费了。

首先,我将解释我是如何做一切来了解情况的。

服务器硬件是 Raspberry PI2B。软件是 Ubuntu 22.04.2 LTS。我使用 apache 作为 http 服务器。

一切都很顺利,直到我开始保护网站安全,我完成了使用 letsencrypt 和 certbot 获取证书的所有步骤。

root@ubuntu:/etc/letsencrypt/keys# ls
0000_key-certbot.pem  0001_key-certbot.pem

root@ubuntu:/etc/letsencrypt/live/archivomental.com# ls
README  cert.pem  chain.pem  fullchain.pem  privkey.pem

好的,那么我认为我的 VirtualHost 配置有问题...因为我不确定。似乎 apache 仍在使用 http 而不是 https。

如果我这样做,一切都会好起来:

<VirtualHost *:443>
    ServerName www.archivomental.com
    ServerAlias archivomental.com
    
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/archivomental.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/archivomental.com/privkey.pem
</VirtualHost>

这个让我进入网页,但只能通过 http。

<VirtualHost *:80>

ServerName www.archivomental.com
ServerAlias archivomental.com
DocumentRoot /var/www/archivomental

RewriteEngine On
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
RewriteCond %{HTTPS} off
RewriteRule   "^/(.*)_SSL$"   "https://%{SERVER_NAME}/$1" [R,L]

</VirtualHost>


<VirtualHost *:443>

ServerName www.archivomental.com
ServerAlias archivomental.com
DocumentRoot /var/www/archivomental

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/archivomental.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/archivomental.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/archivomental.com/chain.pem

</VirtualHost>

还有其他方法可以让 SSL 正常工作吗?如果您能在这方面指导我,我将不胜感激。

root@ubuntu:/var/log/apache2# curl -I https://www.archivomental.com
curl: (60) SSL: no alternative certificate subject name matches target host name 'www.archivomental.com'
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

答案1

SSL:没有替代证书主题名称与目标主机名“www.archivomental.com”匹配

因此 SSL 似乎可以正常工作,但存在证书验证问题。似乎您为 archivomental.com 配置了证书,但没有指定该证书也应有效用于www.archivomental.com

如果是这种情况,并且您需要它与 www. 前缀一起使用,请删除现有证书并重新提供:

sudo certbot delete --cert-name archivomental.com
sudo certbot certonly --domain="archivomental.com,www.archivomental.com"

相关内容