http與https協議區別;vue3本地連接https地址接口報500

文章目錄

  • 問題
  • 解決方案
    • 一、問題原因分析
    • 二、解決方案詳解
        • 1. 保持當前配置(推薦臨時方案)
        • 2. 更安全的方案(推薦)
        • 3. 環境區分配置(最佳實踐)
    • 三、為什么開發環境不用配置?


問題

問題:本地開發時候,連接開發環境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

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. 在項目中配置證書

    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. 環境區分配置(最佳實踐)
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 不存在此問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95376.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95376.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95376.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言——深入理解指針(三)

C語言——深入理解指針(三) 1.回調函數是什么? 首先我們來回顧一下函數的直接調用:而回調函數就是通過函數指針調用的函數。我們將函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調…

kettle 8.2 ETL項目【四、加載數據】

一、dim_store表結構,數據來源于業務表,且隨時間會有增加,屬于緩慢變化維(SCD)類型二 轉換步驟如下 詳細步驟如下

【測試報告】SoundWave(Java+Selenium+Jmeter自動化測試)

一、項目背景 隨著數字音樂內容的爆炸式增長,用戶對于便捷、高效的音樂管理與播放需求日益增強。傳統的本地音樂管理方式已無法滿足多設備同步、在線分享與個性化推薦等現代需求。為此,我們設計并開發了一款基于Spring Boot框架的SoundWave,旨…

C++ 類和對象詳解(1)

類和對象是 C 面向對象編程的核心概念,它們為代碼提供了更好的封裝性、可讀性和可維護性。本文將從類的定義開始,逐步講解訪問限定符、類域、實例化、對象大小計算、this 指針等關鍵知識,并對比 C 語言與 C 在實現數據結構時的差異&#xff0…

奈飛工廠:算法優化實戰

推薦系統的算法邏輯與優化技巧在流媒體行業的 “用戶注意力爭奪戰” 中,推薦系統是決定成敗的核心武器。對于擁有2.3 億全球付費用戶的奈飛(Netflix)而言,其推薦系統每天處理數十億次用戶交互,最終實現了一個驚人數據&…

【人工智能99問】BERT的訓練過程和推理過程是怎么樣的?(24/99)

文章目錄BERT的訓練過程與推理過程一、預訓練過程:學習通用語言表示1. 數據準備2. MLM任務訓練(核心)3. NSP任務訓練4. 預訓練優化二、微調過程:適配下游任務1. 任務定義與數據2. 輸入處理3. 模型結構調整4. 微調訓練三、推理過程…

[TryHackMe]Challenges---Game Zone游戲區

這個房間將涵蓋 SQLi(手動利用此漏洞和通過 SQLMap),破解用戶的哈希密碼,使用 SSH 隧道揭示隱藏服務,以及使用 metasploit payload 獲取 root 權限。 1.通過SQL注入獲得訪問權限 手工注入 輸入用戶名 嘗試使用SQL注入…

北京JAVA基礎面試30天打卡09

1.MySQL存儲引擎及區別特性MyISAMMemoryInnoDBB 樹索引? Yes? Yes? Yes備份 / 按時間點恢復? Yes? Yes? Yes集群數據庫支持? No? No? No聚簇索引? No? No? Yes壓縮數據? Yes? No? Yes數據緩存? NoN/A? Yes加密數據? Yes? Yes? Yes外鍵支持? No? No? Yes…

AI時代的SD-WAN異地組網如何落地?

在全球化運營與數字化轉型浪潮下,企業分支機構、數據中心與云服務的跨地域互聯需求激增。傳統專線因成本高昂、部署緩慢、靈活性差等問題日益凸顯不足。SD-WAN以其智能化調度、顯著降本、敏捷部署和云網融合的核心優勢,成為實現高效、可靠、安全異地組網…

css中的color-mix()函數

color-mix() 是 CSS 顏色模塊(CSS Color Module Level 5)中引入的一個強大的顏色混合函數,用于在指定的顏色空間中混合兩種或多種顏色,生成新的顏色值。它解決了傳統顏色混合(如通過透明度疊加)在視覺一致性…

Github desktop介紹(GitHub官方推出的一款圖形化桌面工具,旨在簡化Git和GitHub的使用流程)

文章目錄**1. 簡化 Git 操作****2. 代碼版本控制****3. 團隊協作****4. 代碼托管與共享****5. 集成與擴展****6. 跨平臺支持****7. 適合的使用場景****總結**GitHub Desktop 是 GitHub 官方推出的一款圖形化桌面工具,旨在簡化 Git 和 GitHub 的使用流程,…

整數規劃-分支定界

內容來自:b站數學建模老哥 如:3.4,先找小于3的,再找大于4的 逐個

JetPack系列教程(六):Paging——讓分頁加載不再“禿”然

前言 在Android開發的世界里,分頁加載就像是一場永無止境的馬拉松,每次滾動到底部,都仿佛在提醒你:“嘿,朋友,還有更多數據等著你呢!”但別擔心,Google大佬們早就看透了我們的煩惱&a…

扎實基礎!深入理解Spring框架,解鎖Java開發新境界

大家好,今天想和大家聊聊Java開發路上繞不開的一個重要基石——Spring框架。很多朋友在接觸SpringBoot、SpringCloud這些現代化開發工具時,常常會感到吃力。究其原因,往往是對其底層的Spring核心機制理解不夠透徹。Spring是構建這些高效框架的…

Heterophily-aware Representation Learning on Heterogeneous Graphs

Heterophily-Aware Representation Learning on Heterogeneous Graphs (TPAMI 2025) 計算機科學 1區 I:18.6 top期刊 ?? 摘要 現實世界中的圖結構通常非常復雜,不僅具有全局結構上的異質性,還表現出局部鄰域內的強異質相似性(heterophily)。雖然越來越多的研究揭示了圖…

計算機視覺(7)-純視覺方案實現端到端軌跡規劃(思路梳理)

基于純視覺方案實現端到端軌跡規劃,需融合開源模型、自有數據及系統工程優化。以下提供一套從模型選型到部署落地的完整方案,結合前沿開源技術與工業實踐: 一、開源模型選型與組合策略 1. 感知-預測一體化模型 ViP3D(清華&#…

Nginx 屏蔽服務器名稱與版本信息(源碼級修改)

Nginx 屏蔽服務器名稱與版本信息(源碼級修改) 一、背景與目的 在生產環境部署 Nginx 時,默認配置會在 Server 響應頭中暴露服務類型(如 nginx)和版本號(如 nginx/1.25.4)。這些信息可能被攻擊者…

從鋼板內部應力視角,重新認識護欄板矯平機

一、為什么鋼板會“自帶波浪”? 鋼卷在熱軋后冷卻、卷取、長途運輸、多次吊運時,不同部位受到的溫度、張力、碰撞并不一致,內部會產生不均勻的殘余應力。應力大的區域想“伸長”,應力小的區域想“縮短”,宏觀上就表現為…

C++中的`auto`與`std::any`:功能、區別與選擇建議

引言 在C編程中,auto和std::any是兩個功能強大但用途不同的工具。理解它們的區別和適用場景對于編寫高效、可維護的代碼至關重要。本文將詳細介紹auto和std::any的基本概念、使用方法、適用場景以及它們之間的區別,并提供選擇建議,幫助開發者…

【Linux】進程(Process)

一、什么是進程二、進程的創建三、進程的狀態四、僵尸進程五、孤兒進程六、進程的優先級 以及 并發/并行七、進程的切換一、什么是進程?什么是進程呢(一)?官方話來說:進程是一個執行實例、正在執行的程序、是系統資源分配的基本單位按課本官方話可能有一…