在Ubuntu上配置Apache SSL证书可以通过以下步骤完成。我们将使用Let’s Encrypt提供的免费SSL证书。以下是详细步骤:
Certbot是一个自动化的工具,用于获取和续订Let’s Encrypt证书。
sudo apt update
sudo apt install certbot python3-certbot-apache
运行Certbot来获取SSL证书。假设你的域名是example.com
。
sudo certbot --apache -d example.com -d www.example.com
Certbot会自动配置Apache并创建必要的SSL配置文件。
Certbot会提示你验证域名所有权。通常,它会创建一个临时的HTTP-01挑战文件,并将其放在你的网站根目录下。你需要确保这个文件可以通过浏览器访问。
打开浏览器,访问http://example.com/.well-known/acme-challenge/
,你应该能看到一个验证页面。
验证成功后,Certbot会自动更新Apache配置文件以启用SSL。你可以检查Apache配置文件以确保一切正常。
sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf
确保配置文件中有以下内容:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
确保你的SSL站点配置文件已启用。
sudo a2ensite example.com-le-ssl.conf
重启Apache以应用更改。
sudo systemctl restart apache2
打开浏览器,访问https://example.com
,你应该能看到一个安全的连接,并且浏览器地址栏会显示锁形图标。
Let’s Encrypt证书每90天需要续订一次。Certbot会自动处理续订过程,但你可以手动测试续订。
sudo certbot renew --dry-run
如果没有错误,Certbot会在到期前自动续订证书。
通过以上步骤,你就可以在Ubuntu上成功配置Apache SSL证书。