在Ubuntu上配置Apache SSL证书可以通过以下步骤完成。我们将使用Let’s Encrypt提供的免费SSL证书。以下是详细步骤:
1. 安装CertbotCertbot是一个自动化的工具,用于获取和续订Let’s Encrypt证书。
sudo apt updatesudo apt install certbot python3-certbot-apache
2. 获取SSL证书运行Certbot来获取SSL证书。假设你的域名是example.com
。
sudo certbot --apache -d example.com -d www.example.com
Certbot会自动配置Apache并创建必要的SSL配置文件。
3. 验证配置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@localhostdocumentRoot /var/www/htmlSSLEngine onSSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pemInclude /etc/letsencrypt/options-ssl-apache.confErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>
5. 启用SSL站点确保你的SSL站点配置文件已启用。
sudo a2ensite example.com-le-ssl.conf
6. 重启Apache重启Apache以应用更改。
sudo systemctl restart apache2
7. 测试SSL配置打开浏览器,访问https://example.com
,你应该能看到一个安全的连接,并且浏览器地址栏会显示锁形图标。
Let’s Encrypt证书每90天需要续订一次。Certbot会自动处理续订过程,但你可以手动测试续订。
sudo certbot renew --dry-run
如果没有错误,Certbot会在到期前自动续订证书。
通过以上步骤,你就可以在Ubuntu上成功配置Apache SSL证书。