返回

IP地址配置HTTPS 内网IP配置HTTPS保姆教程

原创
admin的头像admin·发布于 2026-02-03 13:43·阅读 79

在Nginx中配置HTTPS:本地证书与内网IP配置教程

在很多开发、测试或内网环境中,我们可能需要为Nginx配置HTTPS。为了简化流程,本文将介绍如何生成自签名的SSL证书,设置免密私钥,以及配置Nginx以支持HTTPS协议。

一、生成本地证书

首先,我们需要生成自签名证书。通过 OpenSSL 工具,可以生成一对公钥和私钥,并创建一个有效期为一年的证书。

1.1 生成命令

打开终端并运行以下命令:

bash 复制代码
openssl req -x509 -newkey rsa:4096 -keyout /etc/nginx/ssl/private.key -out /etc/nginx/ssl/certificate.crt -days 365

这条命令会生成以下两个文件:

  • /etc/nginx/ssl/private.key:私钥文件
  • /etc/nginx/ssl/certificate.crt:证书文件

1.2 输入相关信息

执行命令后,系统会要求输入一个密码,建议使用密码生成工具生成一个复杂的密码。在线密码生成工具

接着,系统会提示输入一系列证书信息,包括:

  • 国家名(Country Name)
  • 省/地区名(State or Province Name)
  • 城市名(Locality Name)
  • 组织名(Organization Name)
  • 组织单位名(Organizational Unit Name)
  • 公共名(Common Name,通常为你的域名或IP地址)
  • 邮箱地址(Email Address)

根据实际情况填写,回车即可完成。

二、设置私钥免密

为了避免每次重启Nginx时都需要输入密码,我们需要将私钥文件解密。

2.1 解密命令

使用以下命令将私钥解密,生成一个新的无密码的私钥文件:

bash 复制代码
openssl rsa -in /etc/nginx/ssl/private.key -out /etc/nginx/ssl/private2.key

其中:

  • /etc/nginx/ssl/private.key 是第一步生成的带密码的私钥。
  • /etc/nginx/ssl/private2.key 是解密后的无密码私钥文件。

三、配置Nginx支持HTTPS

完成证书和私钥的生成后,我们接下来要配置Nginx以支持HTTPS。

3.1 编辑Nginx配置文件

找到你的 Nginx 配置文件(通常为 /etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf),然后添加以下配置:

nginx 复制代码
server {
	listen 8068 ssl;
	charset utf-8;
	server_name 你的ip地址;
	ssl_certificate /usr/local/nginx/conf/vhost/comments_ai/certificate.crt;
	ssl_certificate_key /usr/local/nginx/conf/vhost/comments_ai/private2.key;
	
    # 启用支持的协议版本
    ssl_protocols TLSv1.2 TLSv1.3;  # 启用 TLSv1.2 和 TLSv1.3
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:!aNULL:!MD5:!DSS';  # 使用强加密套件
    ssl_prefer_server_ciphers on;  # 强制使用服务器指定的加密套件

    # 安全增强措施
    ssl_session_cache shared:SSL:10m;  # 启用 SSL 会话缓存
    ssl_session_timeout 1d;  # 设置 SSL 会话超时时间为 1 天


	location / {
        proxy_pass http://localhost:8067;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

3.2 解释配置项

  • listen 8068 ssl;:指定 Nginx 监听 8068 端口,并启用 SSL。
  • server_name 154.8.138.29;:设置服务器的域名或 IP 地址。你可以根据需要修改为你的真实域名或公网 IP 地址。
  • ssl_certificatessl_certificate_key:指定证书文件和私钥文件的位置,确保这两个路径正确。
  • ssl_protocols TLSv1.2 TLSv1.3;:启用 TLS 1.2 和 TLS 1.3 两种安全协议版本。
  • ssl_ciphers:指定支持的加密套件,这里使用了强加密套件,确保数据传输的安全性。
  • ssl_session_cachessl_session_timeout:优化 SSL 会话缓存和超时设置,提升性能。
  • location /:配置反向代理,将请求转发给本地的 8067 端口。

3.3 重载Nginx配置

配置完成后,执行以下命令重载 Nginx 配置,使更改生效:

bash 复制代码
sudo nginx -s reload

四、注意事项

  1. 自签名证书警告:由于我们使用的是自签名证书,浏览器在访问时会提示“不安全”。这是因为浏览器无法验证证书的可信度。实际生产环境中,建议使用受信任的证书颁发机构(CA)签发的证书。

  2. 域名证书更安全:自签名证书仅适用于开发或测试环境,如果是正式的生产环境,建议购买并配置一个正式的 SSL 证书。

五、总结

通过以上步骤,我们已经完成了在 Nginx 中配置 HTTPS 的过程。无论是在本地开发、测试,还是内网环境中,这种自签名证书配置可以为我们提供基本的加密保护。当然,在生产环境中,使用由受信任的证书颁发机构签发的证书会更为安全。

热门标签:
作者的其他文章
Docker 数据目录迁移完整指南:从 /var/lib/docker 迁移到自定义路径
本文介绍了将 Docker 数据目录从 /var/lib/docker 迁移到自定义路径 /data2/docker/data 的完整过程,包括停止 Docker 服务、复制数据、修改配置文件及验证数据完整性。提供了常见问题的解决方案,帮助用户在空间不足时顺利迁移 Docker 数据。
Docker 数据目录迁移完整指南:从 /var/lib/docker 迁移到自定义路径
2025年必备:让Nginx配置清晰如诗的工具推荐
文章浏览阅读464次,点赞4次,收藏4次。本文介绍了格式化Nginx配置文件的重要性,指出良好格式能提升可读性、团队协作效率和降低错误风险。文章推荐了2025年优秀的在线格式化工具,这类工具应具备操作简单、专业格式化效果、安全保障等特性。建议将格式化工具集成到开发流程中,并制定团队规范,以优雅管理Nginx配置。文末推荐了一个专业在线格式化工具,帮助开发者高效处理配置文件。
2025年必备:让Nginx配置清晰如诗的工具推荐
Claude 命令大全:从入门到精通的终端操作指南(2025 最新)
本教程全面整理 *Claude 命令行(CLI)使用指南*,从基础启动命令、项目管理、权限控制、模型切换到高级思考模式,全方位提升开发者在终端中使用 Claude 的效率。适合新手与资深开发者收藏参考。
Claude 命令大全:从入门到精通的终端操作指南(2025 最新)
屏幕检测专家 — 专业的在线屏幕测试工具
屏幕检测专家 — 专业的在线屏幕测试工具
屏幕检测专家 — 专业的在线屏幕测试工具
Keye-VL-1.5-8B(快手 Keye-VL)— 腾讯云两卡 32GB GPU **保姆级** 部署指南(Ubuntu 22.04 / CUDA 12.2 / Driver 535.216.01 / Python 3.10)
保姆级教程:在腾讯云两卡 32GB GPU(Ubuntu 22.04 / CUDA 12.2)上完整部署快手 Keye-VL-1.5-8B。包含驱动安装、conda 环境、PyTorch、bitsandbytes、vLLM、ModelScope 模型下载与 Gradio demo 运行步骤及常见排错。适合工程复现与上线优化。
Keye-VL-1.5-8B(快手 Keye-VL)— 腾讯云两卡 32GB GPU **保姆级** 部署指南(Ubuntu 22.04 / CUDA 12.2 / Driver 535.216.01 / Python 3.10)
Ubuntu系统ECS重启后“/etc/resolv.conf”被还原怎么办?
处理方法 在处理前,建议先禁用systemd-resolved服务。 方法一:手动修改/etc/resolv.conf文件。 以root用户登录ECS。 关闭并禁用systemd-resolved服务
共享打印机报错连不上怎么办?修复错误代码(0x000006d9/0x0000011b 等)最新Win10/11 共享打印机常见问题 + 解决教程,附工具!
Win11 打印机共享报错全面修复指南:涵盖 0x000006d9、0x0000011b、0x0000007e 等常见码,并提供一键 PowerShell 工具,十分钟内搞定老款惠普共享打印机。
共享打印机报错连不上怎么办?修复错误代码(0x000006d9/0x0000011b 等)最新Win10/11 共享打印机常见问题 + 解决教程,附工具!
实战Spring Boot + Vue 集成 Activiti 工作流引擎 | 双模式简单 & 自定义审批平台
基于 Spring Boot 与 Vue 的高效工作流平台,支持简单模式与自定义模式双引擎,在线流程建模、版本管理、审批节点灵活配置,多渠道消息通知,Docker/K8s 部署,高可用与可扩展。
2025 年国内 Docker/DockerHub 镜像源加速列表(7 月 28 日更新 · 长期维护)
2025 年最新国内 Docker Hub 镜像源加速列表,包含轩辕镜像、腾讯云、阿里云、DaoCloud、AtomHub 等多家稳定 CDN 服务,附详细配置教程与常见问题说明,适用于 Linux、macOS、Windows 平台。
2025 年国内 Docker/DockerHub 镜像源加速列表(7 月 28 日更新 · 长期维护)
Linux环境下修改人大金仓数据库用户密码的完整指南
本篇博客将手把手教你如何在Linux环境中,通过命令行连接人大金仓数据库并修改指定用户的密码。适用于初学者及数据库维护人员,提供完整命令和使用说明。