Linux 生成 HTTPS 证书

Go

在 Linux 上生成 HTTPS 证书通常涉及使用 OpenSSL 工具。以下是生成自签名证书的步骤:

1. 安装 OpenSSL
首先,确保你的系统上安装了 OpenSSL。如果没有安装,可以使用以下命令安装:

Debian/Ubuntu:

sudo apt-get install openssl

CentOS/RHEL:

sudo yum install openssl

2. 生成私钥
使用以下命令生成一个私钥文件(例如 `server.key`):

openssl genpkey -algorithm RSA -out server.key

或者使用旧版本的 OpenSSL:openssl genrsa -out server.key 2048

3. 生成证书签名请求 (CSR)
使用私钥生成一个证书签名请求(CSR)文件(例如 `server.csr`):

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

在生成 CSR 时,系统会提示你输入一些信息,如国家、组织名称、通用名称(域名)等。

4. 生成自签名证书
使用 CSR 和私钥生成自签名证书(例如 `server.crt`):

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

这个命令会生成一个有效期为 365 天的自签名证书。

5. 配置 Web 服务器
将生成的 `server.key` 和 `server.crt` 文件配置到你的 Web 服务器中。以下是一些常见 Web 服务器的配置示例:

– **Nginx**:
server {
listen 443 ssl;
server_name yourdomain.com;

ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;

# 其他配置…
}

– **Apache**:
<VirtualHost *:443>
ServerName yourdomain.com

SSLEngine on
SSLCertificateFile /path/to/server.crt
SSLCertificateKeyFile /path/to/server.key

# 其他配置…
</VirtualHost>

6. 重启 Web 服务器
配置完成后,重启 Web 服务器以应用更改:

– **Nginx**:
sudo systemctl restart nginx

– **Apache**:
sudo systemctl restart apache2

7. 验证证书
你可以使用浏览器访问 `https://yourdomain.com` 来验证证书是否生效。由于这是自签名证书,浏览器可能会显示安全警告,你可以选择继续访问。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注