生成自签名证书并配置 HTTPS 使用自签名证书

生成自签名证书

1. 运行 OpenSSL 命令生成证书和私钥

在终端中输入以下命令,生成自签名证书和私钥文件:

bash 复制代码
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout self_signed.key -out self_signed.pem
  • -x509:生成自签名证书。
  • -nodes:不加密私钥文件。
  • -days 365:证书有效期为 365 天,可根据需要调整。
  • -newkey rsa:2048:生成 2048 位 RSA 密钥。
  • -keyout self_signed.key:指定私钥文件输出路径(生成 self_signed.key 文件)。
  • -out self_signed.pem:指定证书文件输出路径(生成 self_signed.pem 文件)。
2. 填写证书信息

在执行命令后,系统将提示输入证书信息:

信息项 示例输入 说明
Country Name (2 letter code) CN 国家代码,使用两位字母表示,例如中国是CN
State or Province Name Beijing 省份或州名称,例如"Beijing"
Locality Name (eg, city) Beijing 城市名称,例如"Beijing"
Organization Name MyCompany 组织或公司名称,例如"MyCompany"
Organizational Unit Name IT Department 组织单元名称,例如"IT Department"
Common Name xx.xx.xxx.xx 服务器的 IP 地址或域名
Email Address xxxxxx@qq.com 您的电子邮箱地址(可选)

示例输入:

复制代码
Country Name (2 letter code) [XX]: CN
State or Province Name (full name) []: Beijing
Locality Name (eg, city) [Default City]: Beijing
Organization Name (eg, company) [Default Company Ltd]: MyCompany
Organizational Unit Name (eg, section) []: IT Department
Common Name (eg, your name or your server's hostname) []: xx.xx.xxx.xx
Email Address []: xxxxxx@qq.com

配置 Nginx 使用自签名证书

可以通nginxwebui这个软件来配,比较方便
2.或者 编辑 Nginx 配置文件 手动配置

打开Nginx 配置文件(通常在 /etc/nginx/sites-available/default 或 /etc/nginx/nginx.conf),并添加以下内容以启用 HTTPS:

nginx 复制代码
server {
    listen 11323 ssl;
    server_name xx.xx.xxx.xx;

    ssl_certificate /path/to/self_signed.pem;
    ssl_certificate_key /path/to/self_signed.key;

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

将 /path/to/self_signed.pem 和 /path/to/self_signed.key 替换为实际生成的证书和私钥文件路径。

2. 检查并重启 Nginx

检查 Nginx 配置文件是否正确:

bash 复制代码
sudo nginx -t

如果配置无误,重启 Nginx 以应用更改:

bash 复制代码
sudo systemctl restart nginx

访问 HTTPS 网站

完成上述配置后,您可以通过 https://xx.xx.xxx.xx:11323 访问您的网站。由于这是自签名证书,浏览器可能会提示证书不受信任。您可以选择忽略此警告,继续访问。


这样即可完成 HTTPS 配置。

相关推荐
砺星Leetx3 小时前
工业总线选型与对接实战:PROFINET、EtherCAT、EtherNet/IP、PROFIBUS、Modbus-TCP 与 CC-Link
网络·网络协议·tcp/ip·控制器·国产拧紧系统
李纲明5 小时前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
Lsetea9 小时前
curl指定--tlsv1.2仍连接TLS1.3:最低版本与tls-max排查
linux·https·ssl证书·curl·tls
Lsetea9 小时前
curl访问HTTPS报47 Too many redirects:重定向循环与max-redirs排查
linux·http·https·ssl证书·curl
流浪00111 小时前
计算机网络篇8:传输层——序列化与反序列化,TCP 面向字节流的报文边界由应用层自己切
网络协议·tcp/ip·计算机网络·1024程序员节·序列化反序列化·面向字节流·面向数据包
幻智星科技11 小时前
多通道数据采集中collect_end信号的妙用
网络协议·架构·udp·硬件架构
lazy H14 小时前
【计算机网络】第 5 篇:TCP 和 UDP 有什么区别?从 Java 后端场景理解两种传输协议
经验分享·后端·网络协议·tcp/ip·计算机网络·1024程序员节
在世修行14 小时前
智学文枢:AI 客户端封装
python·http·ai·1024程序员节·pyside
byte轻骑兵17 小时前
【LMP】规范精讲[8]: 主从易位——角色切换的时序反转与微微网重构
网络协议·安全·蓝牙协议·lmp·链接管理
Sirens.17 小时前
网络通信基础:IP、端口、协议分层与数据封装
java·网络·网络协议·tcp/ip·java-ee·1024程序员节