http与https协议区别;vue3本地连接https地址接口报500

文章目录


问题

问题:本地开发时候,连接开发环境http的地址接口访问正常;但是本地连接测试环境地址https接口访问500

解决方案

https时候,需要配置secure: false 禁用 SSL 证书验证

一、问题原因分析

  1. 开发环境 vs 测试环境的协议差异

    • 开发环境:http://192.168.90.91:33000 (HTTP协议)
    • 测试环境:https://192.168.90.60:33020 (HTTPS协议)
  2. secure: false 的作用

    • 当代理目标(target)使用 HTTPS 协议时,Vite 代理默认会验证 SSL 证书的有效性。
    • secure: false 禁用 SSL 证书验证,允许代理到使用自签名证书或无效证书的 HTTPS 服务。
  3. 为什么开发环境不需要配置

    • 开发环境使用 HTTP 协议,不涉及 SSL 证书验证,因此无需 secure: false
  4. 为什么测试环境需要配置

    • 测试环境使用 HTTPS,但其证书可能是:
      • 自签名证书(非权威机构颁发)
      • 证书域名与 IP 地址不匹配(如用域名证书但通过 IP 访问)
      • 证书已过期
    • 浏览器和 Node.js 默认会拒绝此类证书,导致 500 错误。

二、解决方案详解

1. 保持当前配置(推荐临时方案)

在代理配置中显式设置 secure: false

javascript 复制代码
proxy: {
  "/inms-application": {
    target: loadEnv(mode, "./env/").VITE_APP_SERVEICE,
    changeOrigin: true,
    secure: false, // 禁用证书验证
    // ...其他配置
  }
}

优点 :快速解决问题
缺点:存在中间人攻击风险(仅限开发环境可接受)

2. 更安全的方案(推荐)

步骤

  1. 获取测试环境的证书

    • 访问 https://192.168.90.60:33020 → 点击地址栏锁图标 → 导出证书(如 test-env.crt
  2. 在项目中配置证书

    javascript 复制代码
    import fs from 'fs';
    
    server: {
      proxy: {
        "/inms-application": {
          target: loadEnv(mode, "./env/").VITE_APP_SERVEICE,
          changeOrigin: true,
          secure: true, // 保持验证
          ca: fs.readFileSync('path/to/test-env.crt'), // 添加自签名证书
        }
      }
    }

优点 :保持安全性
缺点:需额外证书文件

3. 环境区分配置(最佳实践)
javascript 复制代码
const isTestEnv = loadEnv(mode, "./env/").VITE_APP_SERVEICE.includes('https');

server: {
  proxy: {
    "/inms-application": {
      target: loadEnv(mode, "./env/").VITE_APP_SERVEICE,
      changeOrigin: true,
      secure: !isTestEnv, // 仅在测试环境禁用验证
    }
  }
}

三、为什么开发环境不用配置?

  • HTTP 协议无需证书:开发环境使用 HTTP,代理时不会触发 SSL 验证流程。
  • 测试环境触发验证:HTTPS 协议要求证书合法性检查,而测试环境的证书不符合 Node.js 的默认信任规则。

💡 根本原因:测试环境的 HTTPS 证书未通过 Node.js 的严格验证(自签名/IP不匹配/过期等),而开发环境的 HTTP 不存在此问题。

相关推荐
米丘4 分钟前
浏览器 本地存储 (cookie 、sessionStorage、localStorage)
安全·http·浏览器
上海云盾-小余12 分钟前
SSL 证书部署误区避坑:加密部署与防劫持落地教程
网络协议·iphone·ssl
以太浮标1 小时前
华为eNSP模拟器综合实验之- 路由黑洞场景解析及实验
运维·网络·网络协议·网络安全·华为·智能路由器·信息与通信
北京耐用通信1 小时前
耐达讯自动化 Modbus RTU转Profibus 网关产品技术说明书
人工智能·物联网·网络协议·自动化·信息与通信
Irissgwe2 小时前
5-2 - HTTPS 协议原理
网络协议·http·https·非对称加密·ca·https协议原理
sugar__salt2 小时前
LLM服务HTTP接口实战:前端HTTP请求全解与项目落地
前端·网络协议·http
雪的季节2 小时前
HTTP 和 HTTPS 五大核心区别
数据库·http·https
2501_915909063 小时前
深入解析Mock.js:功能、应用及实战案例,提升前端开发效率
android·ios·小程序·https·uni-app·iphone·webview
电子科技圈4 小时前
CXL连接全面赋能AI与车载算力提升,SmartDV CXL全栈IP加速相关芯片设计
人工智能·网络协议·tcp/ip·机器学习·自动驾驶·边缘计算
海绵宝宝de派小星4 小时前
MCP与A2A协议深度解析:Agent时代的“TCP/IP“如何诞生
arm开发·网络协议·tcp/ip·ai