温馨提示×

linux openssl怎样配置tls

小樊
37
2026-10-07 11:13:39
栏目: 云计算

在 Linux 上通过 OpenSSL 配置 TLS,通常分为 生成证书、配置服务端、验证客户端 几个步骤。下面以最常见的 Nginx / Apache 以及 通用 OpenSSL 命令 为例说明。


一、使用 OpenSSL 生成 TLS 证书

1. 生成私钥

openssl genrsa -out server.key 2048

2. 生成证书签名请求(CSR)

openssl req -new -key server.key -out server.csr

按提示填写:

  • Country
  • Organization
  • Common Name(域名,如 example.com)

3. 自签名证书(测试用)

openssl x509 -req -days 365 -in server.csr \
  -signkey server.key -out server.crt

✅ 生产环境建议使用 受信任 CA(Let’s Encrypt、企业 CA)


二、Nginx 配置 TLS(最常见)

1. 安装 Nginx

yum install nginx
# 或
apt install nginx

2. 配置 HTTPS

编辑 /etc/nginx/conf.d/ssl.conf:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}

3. 重启 Nginx

nginx -t
systemctl restart nginx

三、Apache 配置 TLS

yum install mod_ssl

编辑:

/etc/httpd/conf.d/ssl.conf
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key
systemctl restart httpd

四、使用 Let’s Encrypt(推荐)

yum install certbot
certbot certonly --nginx -d example.com

自动生成:

  • 证书
  • 私钥
  • 自动续期

五、OpenSSL 测试 TLS

1. 测试 HTTPS 服务

openssl s_client -connect example.com:443

2. 查看证书信息

openssl x509 -in server.crt -noout -text

六、安全建议

✅ 使用 TLS 1.2 / 1.3
✅ 禁用 SSLv3、TLS 1.0/1.1
✅ 使用强加密套件
✅ 定期更换证书
✅ 使用 HSTS


如果你有 具体用途(如 MySQL TLS、Redis TLS、内网服务、双向认证 mTLS),可以告诉我,我给你针对性配置。

0 踩