温馨提示×

Linux LAMP服务器如何配置SSL

小樊
52
2025-09-04 07:01:55
栏目: 云计算

在Linux LAMP服务器上配置SSL证书可以帮助你实现安全的HTTPS连接。以下是一个基本的步骤指南,使用Let’s Encrypt提供的免费SSL证书来配置SSL。

前提条件

  1. LAMP服务器:确保你已经安装了Linux、Apache、MySQL和PHP。
  2. 域名:你需要一个域名,并且该域名已经指向你的服务器IP地址。
  3. 防火墙设置:确保防火墙允许HTTP(80)和HTTPS(443)流量。

步骤指南

1. 安装Certbot

Certbot是Let’s Encrypt的官方客户端工具,用于自动获取和续订SSL证书。

sudo apt update
sudo apt install certbot python3-certbot-apache

2. 获取SSL证书

使用Certbot获取SSL证书。运行以下命令并按照提示操作:

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
  • -d yourdomain.com-d www.yourdomain.com 是你的域名。
  • Certbot会自动配置Apache以使用SSL证书。

3. 验证配置

Certbot会自动测试你的配置并重启Apache。你可以访问 https://yourdomain.com 来验证SSL证书是否正确安装。

4. 自动续订证书

Let’s Encrypt的证书有效期为90天。Certbot会自动设置一个cron作业来定期检查并续订证书。

sudo systemctl status certbot.timer

如果一切正常,你应该看到定时任务正在运行。

5. 配置防火墙

确保防火墙允许HTTPS流量:

sudo ufw allow 'Apache Full'

或者如果你使用的是其他防火墙工具,请相应地配置。

手动配置SSL(可选)

如果你不想使用Certbot,也可以手动配置SSL证书。以下是基本步骤:

  1. 生成自签名证书(仅用于测试,不推荐用于生产环境):

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/yourdomain.com.key -out /etc/ssl/certs/yourdomain.com.crt
    
  2. 配置Apache

    编辑Apache的SSL配置文件(通常位于 /etc/apache2/sites-available/yourdomain.com-le-ssl.conf),添加以下内容:

    <IfModule mod_ssl.c>
        <VirtualHost *:443>
            ServerAdmin webmaster@yourdomain.com
            DocumentRoot /var/www/html
    
            SSLEngine on
            SSLCertificateFile /etc/ssl/certs/yourdomain.com.crt
            SSLCertificateKeyFile /etc/ssl/private/yourdomain.com.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>
    
  3. 启用SSL站点

    sudo a2ensite yourdomain.com-le-ssl.conf
    sudo systemctl restart apache2
    
  4. 重定向HTTP到HTTPS(可选):

    编辑默认的Apache配置文件(通常位于 /etc/apache2/sites-available/000-default.conf),添加以下内容:

    <VirtualHost *:80>
        ServerName yourdomain.com
        ServerAlias www.yourdomain.com
        Redirect permanent / https://yourdomain.com/
    </VirtualHost>
    

    然后重启Apache:

    sudo systemctl restart apache2
    

通过以上步骤,你应该能够在Linux LAMP服务器上成功配置SSL证书。

0