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

相关推荐
null_null99921 分钟前
宝塔nginx http转https代理
nginx·http·https
南♡黎(・ิϖ・ิ)っ21 分钟前
JavaEE初阶,网络原理HTTP报头篇
网络·https·java-ee
冰糖拌面23 分钟前
GO写的http服务,清空cookie
服务器·http·golang
爱编程的鱼25 分钟前
HTTP 是什么?它是如何工作的
网络·网络协议·http
ZhengEnCi1 小时前
N2H-为什么99%的人不会做子网划分?大厂网络工程师的VLSM子网划分实战解析
网络协议
檐下翻书1732 小时前
Spring Boot 深度剖析:从虚拟线程到声明式 HTTP 客户端,再到云原生最优解
spring boot·http·云原生
雪域迷影12 小时前
C#中通过get请求获取api.open-meteo.com网站的天气数据
开发语言·http·c#·get
ozawacai16 小时前
详细了解TLS、HTTPS、SSL原理
计算机网络·https·ssl
2501_9159184116 小时前
HTTP抓包工具推荐,Fiddler使用教程、代理设置与调试技巧详解(含HTTPS配置与实战案例)
http·ios·小程序·https·fiddler·uni-app·webview
雯0609~16 小时前
宝塔配置:IP文件配置,根据端口配置多个项目文件(不配置域名的情况)
服务器·网络协议·tcp/ip