CORS解決跨域問題的多個方案 - nginx站點配置 / thinkphp框架內置中間件 / 純前端vue、vite的server.proxy代理

效果圖

跨域報錯

跨域解決

方案實測

1.?nginx、apache站點配置 > OK

2.?thinkphp框架內置中間件 “跨域請求支持”? > OK

3.?純前端vue、vite的server.proxy代理 > 不OK

方案具體設置

1.?nginx、apache站點配置 > OK

修改nginx服務器的站點的跨域信息
日志下面添加:

add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';

重啟nginx,生效!
參考自?https://www.cnblogs.com/zhoading/p/15987927.html

2.?thinkphp框架內置中間件 “跨域請求支持”? > OK

其中,兩種方式:
1)tp8新增的“ThinkPHP跨域擴展”,不生效....不生效....不生效....
? ? ??https://doc.thinkphp.cn/v8_0/cross_route.html

安裝?

composer require topthink/think-cors

配置config/cors.php

['paths' => ['api/*'],...
]


2)tp傳統的中間件“跨域請求支持”,有效果有效果有效果
? ? ? 手冊?https://doc.thinkphp.cn/v8_0/middleware.html

增加 think\middleware\AllowCrossDomain 到middleware.php,
單應用的話,tp根目錄\app\middleware.php;
多應用的話,tp根目錄\app\應用名\middleware.php;

? ? ??

3.?純前端vue、vite的server.proxy代理 > 不OK ...?不OK ...?不OK ...?

使用vite的server.proxy代理,解決跨域問題
修改項目的vite.config.js
例如vben admin大倉里面的某個應用 vue-vben-admin\apps\web-antd\vite.config.mts,原內容...
參考自 : https://segmentfault.com/a/1190000043775780 ? 無效,瀏覽器里面還是報錯!

export default defineConfig({server: {proxy: {'/api': {target: 'http://localhost:3000',changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, ''),},}},
})

ending...

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

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

相關文章

什么是Omni-Hub?一套面向“萬物智聯”時代的操作系統級方法論

Omni-Hub(中文常譯“全向中樞”),是一套面向未來數字化生態的開放型系統級框架,由“Omni”(全域、全向、全模態)與“Hub”(中樞、樞紐)組合而成,旨在通過統一接口、協議與…

ARP地址解析協議

工作原理ARP是一個封裝于數據鏈路層的二層協議,其目的主要是將IP地址解析為MAC地址,通過廣播🔉詢問Who is x.x.x.x,對方收到后單播回應自己的mac地址動態ARP動態ARP通過ARP協議自動學習和維護IP與MAC的映射關系,表項具…

PortSwigger靶場之Blind SQL injection with out-of-band interaction通關秘籍

一、題目分析 該實驗室存在一個盲 SQL 注入漏洞。該應用程序使用跟蹤 cookie 進行分析,并執行包含所提交 cookie 值的 SQL 查詢。該 SQL 查詢是異步執行的,不會對應用程序的響應產生影響。不過,我們可以與外部域觸發非帶內交互。要解決此漏洞…

筆試-筆記3

1.在以下聲明中哪一個表示“指向常量的指針”(指針指向的內容不能修改)? A.char* const p B.const char* p C.char *p const D.char const p 解析: 選B,const修飾的變量為常量,意味著不能修改 A是常量指針,const修飾的…

Linux正則表達式

文章目錄一、Linux正則表達式與三劍客知識1.什么是正則表達式?2.為什么要學習正則表達式?3.有關正則表達式容易混淆的事項4.學習正則表達式注意事項5. 正則表達式的分類5.1 基本的正則表達式(BRE)集合6. 正則表達式測試題7. 擴展正…

MATLAB Figure畫布中繪制表格詳解

文章目錄 1 使用uitable創建帶有樣式和顏色映射的表格 2 使用imagesc和text創建自定義表格 3 使用patch和text創建完全自定義的表格 4 代碼詳細講解 4.1 使用uitable 4.2 使用imagesc和text 4.3 使用patch和text 5 顏色映射技巧 5.1 使用內置顏色映射 5.2 自定義顏色映射函數 5…

Python在語料庫建設中的應用:文本收集、數據清理與文件名管理

一、問題的提出在日常語言學習與教學中,語料庫是一個不可或缺的工具。它可以幫助我們查找高頻詞,獲取搭配信息、例句信息、關鍵詞信息等。由于建庫過程操作步驟多,有時還要用到圖片識別、格式轉化、文本清理等技巧,很多人往往都止…

STL——priority_queue的使用(快速入門詳細)

目錄 前言 一、基本知識 二、使用 前言 priority_queue是在queue庫里的,所以使用的時候要包含queue頭文件。使用方法和堆類似,因為它的底層其實就是大根堆。 一、基本知識 優先隊列優先級隊列是一種容器適配器,根據一些嚴格的弱排序標準&…

MATLAB中函數的詳細使用

一、函數基本知識function語法: function [,...,] myfun(,...,), …

服務器初始化流程***

前言在云計算與自動化運維日益成熟的今天,快速、批量地部署服務器已成為常態。然而,一臺新構建的云服務器或新安裝的物理服務器,僅僅是一個可運行的操作系統內核,遠未達到投入生產環境或開發測試的標準。一個缺乏標準化配置的“裸…

Python實現電商Excel讀取進行可視化分析

目錄專欄導讀項目簡介功能特性📊 數據處理功能📈 統計分析功能🎨 可視化功能📋 報告生成項目結構安裝和使用環境要求安裝步驟使用自己的數據依賴包說明輸出文件說明靜態圖表(PNG格式)交互式圖表&#xff08…

肌肉力量訓練

健身一年多瘦了十幾斤,沒有像上次一樣吃輕食哦。每天早晨跑步或者做力量訓練,中午和晚上吃完飯遛遛彎,堅持下來就好了。 但力量訓練一直沒有請教練,自己也沒查資料,算是瞎練吧。最近發現了一本好書,講解如何…

微服務-27.配置管理-什么是配置管理

一.配置管理到目前為止我們已經解決了微服務相關的幾個問題:微服務遠程調用微服務注冊、發現微服務請求路由、負載均衡微服務登錄用戶信息傳遞不過,現在依然還有幾個問題需要解決:我們發現很多微服務中的配置文件里的配置都是重復的。修改編輯…

【RAGFlow代碼詳解-13】RAG 管道

管道架構概述 RAG 管道由多個處理階段組成,這些階段將文本內容轉換為適合智能檢索的結構化知識表示:文檔到知識圖譜工作流程 主要處理工作流程通過 run_graphrag 功能將單個文檔塊轉換為統一的知識圖譜:GraphRAG 處理方法 RAGFlow 支持兩種不…

深度學習——模型訓練

以Pytorch自帶的手寫數據集為例。我們已經構建了一個輸入層(28*28),兩個隱藏層(128和256),一個輸出層(10)的人工神經網絡。并且結合非線性激活函數sigmoid定義前向傳播的方向。class…

使用Kiro智能開發PYTHON應用程序

文章目錄使用Kiro智能開發PYTHON應用程序1. 什么是KIRO?2. 獲取KIRO3. 安裝KIRO4. 用KIRO開發智能應用程序6. 推薦閱讀使用Kiro智能開發PYTHON應用程序 By JacksonML KIRO是AWS亞馬遜云科技旗下的獨立AI產品,是用來開發生產級應用程序的AI IDE。 本文簡…

UNIX網絡編程筆記:高級套接字編程12-19

IPv4與IPv6互操作性:技術解析與實踐指南 在網絡協議演進進程中,IPv4向IPv6的過渡是繞不開的關鍵階段。盡管IPv6憑借海量地址、更優擴展性成為發展方向,但IPv4設備與網絡的廣泛存在,使得二者的互操作性成為保障網絡平滑演進、業務持…

同類軟件對比(一):Visual Studio(IDE) VS Visual Studio Code

文章目錄前言一、Visual Studio(IDE)是什么?二、Visual Studio Code 是什么?三、兩者的相同點四、兩者的不同點五、實戰選擇建議總結前言 Visual Studio 和 Visual Studio Code,它們一個是微軟旗下的老牌霸主&#xf…

數據結構初階:詳解單鏈表(一)

🔥個人主頁:胡蘿卜3.0 🎬作者簡介:C研發方向學習者 📖個人專欄: 《C語言》《數據結構》 《C干貨分享》 ??人生格言:不試試怎么知道自己行不行 目錄 順序表問題與思考 正文 一、單鏈表 1.…

塞爾達傳說 曠野之息 PC/手機雙端(The Legend of Zelda: Breath of the Wild)免安裝中文版

網盤鏈接: 塞爾達傳說 曠野之息 免安裝中文版 名稱:塞爾達傳說 曠野之息 PC/手機雙端 免安裝中文版 描述:忘記你所知道的關于塞爾達傳說游戲的一切。在《塞爾達傳說:曠野之息》中步入一個充滿發現、探索和冒險的世界&#xff0…