温馨提示×

debian openssl怎样开启https

小樊
40
2026-09-14 17:02:35
栏目: 云计算

在 Debian 上“用 OpenSSL 开启 HTTPS”,通常分 两种情况

  1. 自己生成证书 + 配置 Web 服务(Nginx / Apache)
  2. 只是用 OpenSSL 测试 HTTPS(如本地自签名)

下面按最常见场景一步步说明。


一、安装 OpenSSL(一般已自带)

sudo apt update
sudo apt install openssl

查看版本:

openssl version

二、生成自签名证书(用于 HTTPS)

1️⃣ 生成私钥和证书(一步完成)

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

填写信息示例:

  • Country:CN
  • Common Name:你的域名或 IP(如 example.com192.168.1.10

2️⃣(可选)生成 DH 参数(增强安全性)

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

三、在 Nginx 上开启 HTTPS(推荐)

1️⃣ 安装 Nginx

sudo apt install nginx

2️⃣ 配置 HTTPS

编辑站点配置:

sudo nano /etc/nginx/sites-available/default

示例配置:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/ssl/certs/selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/selfsigned.key;
    ssl_dhparam         /etc/ssl/certs/dhparam.pem;

    location / {
        root /var/www/html;
        index index.html;
    }
}

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

3️⃣ 测试并重载

sudo nginx -t
sudo systemctl reload nginx

访问:

https://你的IP或域名

浏览器会提示“不安全”,因为是自签名证书(正常)


四、在 Apache 上开启 HTTPS

sudo apt install apache2
sudo a2enmod ssl
sudo a2ensite default-ssl

修改:

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

指定证书:

SSLCertificateFile      /etc/ssl/certs/selfsigned.crt
SSLCertificateKeyFile   /etc/ssl/private/selfsigned.key

重启:

sudo systemctl restart apache2

五、正式环境建议(重要)

生产环境 不要用自签名证书,推荐使用:

✅ Let’s Encrypt(免费 HTTPS)

sudo apt install certbot
sudo certbot --nginx
# 或
sudo certbot --apache

自动配置 HTTPS + 续期。


六、仅用 OpenSSL 测试 HTTPS 服务

openssl s_client -connect example.com:443

总结

目的 做法
本地测试 OpenSSL 自签名
Web HTTPS Nginx / Apache + 证书
公网安全 Let’s Encrypt

如果你能告诉我:

  • 用的是 Nginx 还是 Apache
  • 本地测试还是服务器

我可以直接给你一份可用配置文件

0