生成自签名证书并配置 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 配置。

相关推荐
破刺不会编程10 小时前
socket编程TCP
linux·运维·服务器·开发语言·网络·网络协议·tcp/ip
gxh199210 小时前
4步将HTTP请求升级为HTTPS
运维·服务器·网络协议·http·https
李洛克0712 小时前
RDMA CM UDP 通信完整指南
单片机·网络协议·udp
北京耐用通信13 小时前
终结混合网络调试噩梦:耐达讯自动化实现EtherCAT对DeviceNet设备的直接读写
网络·人工智能·物联网·网络协议·自动化·信息与通信
千天夜14 小时前
文件系统磁盘块分配方式:从隐式链接到索引结构
网络·网络协议
2501_9159184114 小时前
HTTPS 端口深度解析,443 并不是唯一入口,理解 TLS 流量行为与抓包策略
网络协议·http·ios·小程序·https·uni-app·iphone
2501_9160088914 小时前
iOS 开发者工具全景图,构建从编码、调试到性能诊断的多层级工程化工具体系
android·ios·小程序·https·uni-app·iphone·webview
shcoc15 小时前
备用 申请acme 申请ssl
网络·网络协议·ssl
YuSun_WK16 小时前
zerotier-cli listpeers/ listnetworks命令以及IP的理解
网络·网络协议·tcp/ip
2501_9159214316 小时前
从需求到上架,现代 iOS 开发流程的工程化方法论
android·ios·小程序·https·uni-app·iphone·webview