温馨提示×

如何配置Ubuntu Apache2 SSL

小樊
40
2025-12-07 03:27:58
栏目: 云计算

配置Ubuntu Apache2以支持SSL涉及几个步骤,包括安装必要的软件包、生成SSL证书和密钥、配置Apache2以使用这些证书和密钥。以下是详细的步骤指南:

1. 更新系统

首先,确保你的系统是最新的:

sudo apt update
sudo apt upgrade

2. 安装Apache2和SSL模块

安装Apache2和SSL模块:

sudo apt install apache2
sudo apt install apache2-mod_ssl

3. 生成SSL证书和密钥

你可以使用自签名证书进行测试,或者从受信任的证书颁发机构(CA)获取证书。

使用自签名证书

生成自签名证书和密钥:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

在提示时输入相关信息,例如国家、组织名称等。

从CA获取证书

如果你有CA的证书和密钥文件,可以直接使用它们。如果没有,你需要先生成CSR(证书签名请求),然后提交给CA。

生成CSR:

sudo openssl req -new -newkey rsa:2048 -nodes -keyout /etc/ssl/private/yourdomain.com.key -out /etc/ssl/certs/yourdomain.com.csr

提交CSR给CA并获取证书文件(通常是.crt文件)。

4. 配置Apache2使用SSL证书和密钥

编辑Apache2的SSL配置文件:

sudo nano /etc/apache2/sites-available/default-ssl.conf

确保配置文件中有以下内容:

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
        SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

        <Directory /var/www/html>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
</IfModule>

如果你使用的是从CA获取的证书,将SSLCertificateFileSSLCertificateKeyFile指向相应的文件。

5. 启用SSL站点

启用默认的SSL站点配置:

sudo a2ensite default-ssl

6. 禁用HTTP站点(可选)

如果你只想通过HTTPS访问你的网站,可以禁用HTTP站点:

sudo a2dissite 000-default.conf

7. 重启Apache2

重启Apache2以应用更改:

sudo systemctl restart apache2

8. 测试SSL配置

打开浏览器并访问你的网站,例如https://yourdomain.com。你应该看到一个安全连接(通常显示一个锁图标)。

9. 配置防火墙(可选)

如果你使用的是UFW防火墙,确保允许HTTPS流量:

sudo ufw allow 'Apache Full'

通过以上步骤,你应该能够在Ubuntu上成功配置Apache2以支持SSL。

0