当前位置: 首页 > backend >正文

局域网/内网IP地址配置HTTPS证书全流程指南

在局域网或内网环境中部署HTTPS证书,可有效加密数据传输、防止中间人攻击,尤其适用于企业内部系统、IoT设备管理、开发测试环境等场景。以下结合主流证书颁发机构(CA)与自签名证书两种方案,详细说明实施步骤及注意事项。


一、前期准备与核心原则

  1. IP地址固定性
    确保目标内网IP为静态分配(如192.168.x.x或10.x.x.x),动态IP会导致证书失效。可通过路由器DHCP保留或服务器静态配置实现。

  2. 证书类型选择

    • 受信任CA证书:适用于需要浏览器无警告访问的场景(如企业内网Web服务)。
    • 自签名证书:适用于开发测试、内部系统或无法通过公网验证的环境。

二、方案一:通过受信任CA(如JoySSL)申请证书

1. 证书申请流程

  • CA账号
    访问JoySSL官网,注册时填写230950可获配置协助与折扣。
  • 提交IP验证
    填写内网IP地址,CA可能通过以下方式验证所有权:
    • 文件验证:在服务器指定路径放置CA提供的随机文件。
    • 邮件验证:向管理员邮箱发送确认链接。
  • 下载证书包
    验证通过后,下载包含.crt(证书)、.key(私钥)及中间证书的压缩包。

2. 服务器配置(以Nginx为例)

 

nginx

server {
listen 443 ssl;
server_name 192.168.1.100; # 替换为实际内网IP
ssl_certificate /path/to/your_certificate.crt;
ssl_certificate_key /path/to/your_private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html;
}
}
  • 注意事项
    • 确保443端口未被占用(通过netstat -tulnp | grep 443检查)。
    • 重启Nginx生效:systemctl restart nginx

3. 客户端根证书导入

  • 企业环境(AD域控)
    通过组策略推送根证书:
    1. 编辑GPO → 计算机配置 → Windows设置 → 安全设置 → 公钥策略 → 受信任的根证书颁发机构
    2. 导入CA提供的根证书(.der.pem格式)。
    3. 客户端执行gpupdate /force强制更新。
  • 非域环境
    使用PowerShell手动导入:
     

    powershell

    Import-Certificate -FilePath "C:\path\to\root.der" -CertStoreLocation Cert:\LocalMachine\Root

三、方案二:自签名证书部署(开发测试环境)

1. 生成根证书与服务器证书

 

bash

# 生成CA根证书(有效期10年)
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt \
-subj "/C=CN/ST=Beijing/L=Beijing/O=MyCompany/CN=MyCA"
# 生成服务器证书(有效期1年)
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr \
-subj "/C=CN/ST=Beijing/L=Beijing/O=MyCompany/CN=192.168.1.100"
# 创建证书扩展文件(v3.ext)
echo "authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = IP:192.168.1.100" > v3.ext
# 签名服务器证书
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
-out server.crt -days 365 -sha256 -extfile v3.ext

2. 服务器配置(Tomcat示例)

 

xml

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/path/to/keystore.jks"
certificateKeystorePassword="yourpassword"
type="RSA" />
</SSLHostConfig>
</Connector>
  • 转换证书格式
     

    bash

    # 将PEM转为PKCS12
    openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name "tomcat"
    # 导入到JKS
    keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 \
    -destkeystore keystore.jks -deststoretype JKS

3. 客户端信任配置

  • Windows:双击ca.crt → 安装到“受信任的根证书颁发机构”。
  • Linux(Ubuntu)
     

    bash

    sudo cp ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates

四、验证与维护

  1. 测试访问
    浏览器访问https://192.168.1.100,检查是否显示绿色锁标志。
    • 若使用自签名证书,需手动信任证书(浏览器会提示“不受信任”)。
  2. 证书续期
    • CA证书:到期前30天通过CA平台续费并更新服务器配置。
    • 自签名证书:重新生成证书并更新服务器/客户端配置。
  3. 安全加固
    • 禁用弱加密协议(如TLS 1.0/1.1)。
    • 定期更新服务器软件(如Nginx、Tomcat)以修复漏洞。

五、常见问题与解决方案

  • 证书不信任警告:确保客户端已正确导入根证书。
  • IP地址变更:若需更换IP,需重新申请证书并更新所有配置。
  • 端口冲突:检查443端口是否被其他服务占用(如Skype、IIS)。

通过以上步骤,可在局域网/内网环境中实现安全的HTTPS传输。根据实际需求选择CA证书或自签名证书,并严格遵循IP固定性、证书验证与客户端信任配置等关键原则。

http://www.xdnf.cn/news/10151.html

相关文章:

  • TypeScript 中高级类型 keyof 与 typeof的场景剖析。
  • [STM32问题解决(2)]STM32通过串口与PC通信,打开串口助手后无法在打开状态下下载程序和复位STM32
  • 抢占先机!品牌如何利用软文营销领跑内容营销赛道?
  • 【笔记】Windows 系统安装 Supabase CLI 完整指南(基于 Scoop)
  • 未来技术展望
  • jmeter:登录接口的token用于下一个接口
  • Co-IP—验证蛋白互作的不二之选
  • JavaSwing之--ImageImageIcon
  • ES5时代的残党(被ES6淘汰的JS写法)
  • 【Web应用】若依框架:基础篇11功能详解-系统接口
  • 聊聊网络变压器的浪涌等级标准是怎样划分的呢?
  • 强化学习笔记总结(结合论文)
  • 【知识点】第2章:Python程序实例解析
  • 玛哈特校平机深度解析:多辊弯曲的奥秘与核心部件探秘
  • Amazon Pinpoint:构建智能、全渠道的用户互动与营销解决方案
  • 进程间通信及管道(理论)
  • element上传文件多选 实现文件排序
  • 指纹识别+精准化POC攻击
  • 正点原子Z20 ZYNQ ​​​开发板​​发布!板载FMC LPC、LVDS LCD和WIFI蓝牙等接口,资料丰富!
  • It is recommended to disable TLS 1.1 and replace it with TLS 1.2 or higher.修复方案
  • LearnOpenGL-笔记-其十一
  • 突破DIFY沙箱限制,高效处理大文件
  • 人工智能在智能金融中的创新应用与未来趋势
  • 【面试】喜茶Java面试题目
  • 数学建模之最短路径问题
  • Spring Boot中使用@JsonAnyGetter和@JsonAnySetter处理动态JSON属性
  • Linux中的shell脚本
  • 基于Vite的前端自动化部署方案
  • (一)微服务(垂直AP/分布式缓存/装饰器Pattern)
  • Bootstrap项目 - 个人作品与成就展示网站