From 0d2a5fc482ba7ffaaefa6276e2475727e7160753 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期三, 16 九月 2026 11:31:35 +0800
Subject: [PATCH] fix(cors): 放行内网网段来源,修复局域网 IP 访问时登录 403
---
traffic-audit-server/src/main/resources/application.yml.example | 6 ++-
docs/功能测试报告/功能测试报告_局域网IP访问登录CORS修复_2026-09-16.md | 53 ++++++++++++++++++++++++++
docs/工作日结/工作日结_2026-09-16.md | 40 ++++++++++++++++++++
traffic-audit-server/src/main/java/com/trafficaudit/common/config/CorsConfig.java | 12 +++--
4 files changed, 104 insertions(+), 7 deletions(-)
diff --git "a/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\345\261\200\345\237\237\347\275\221IP\350\256\277\351\227\256\347\231\273\345\275\225CORS\344\277\256\345\244\215_2026-09-16.md" "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\345\261\200\345\237\237\347\275\221IP\350\256\277\351\227\256\347\231\273\345\275\225CORS\344\277\256\345\244\215_2026-09-16.md"
new file mode 100644
index 0000000..572d7b8
--- /dev/null
+++ "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\345\261\200\345\237\237\347\275\221IP\350\256\277\351\227\256\347\231\273\345\275\225CORS\344\277\256\345\244\215_2026-09-16.md"
@@ -0,0 +1,53 @@
+# 鍔熻兘娴嬭瘯鎶ュ憡_灞�鍩熺綉IP璁块棶鐧诲綍CORS淇_2026-09-16
+
+> 妯″潡锛氱郴缁熷畨鍏紙璺ㄥ煙鐧藉悕鍗曪級+ 鐧诲綍銆�娴嬭瘯浜猴細Codex銆�鏃ユ湡锛�2026-09-16
+
+## 涓�銆佸姛鑳借鏄�
+
+**闂鐜拌薄**锛氱敤 `http://192.168.177.26:8080/` 鎵撳紑椤甸潰锛岀櫥褰曢〉鑳芥甯告樉绀猴紝浣嗙偣銆岀櫥褰曘�嶆彁绀恒�岀綉缁滈敊璇紝鐧诲綍澶辫触銆嶏紱鍚屼竴濂楁湇鍔$敤 `http://localhost:8080/` 鐧诲綍姝e父銆�
+
+**鏍瑰洜**锛氭祻瑙堝櫒瀵� POST/PUT/DELETE **蹇呭甫 `Origin` 澶�**锛圙ET 涓嶅甫锛夈��9-14 瀹夊叏鏁存敼鎶� CORS 浠� `allowedOriginPattern("*") + allowCredentials(true)` 鏀剁揣涓哄彧鍒楀叿浣撴潵婧愶紙`http://localhost:8080,http://127.0.0.1:8080`锛夈�傜粡 dev-server 浠g悊鏃� `Origin` 鍘熸牱杞彂缁欏悗绔紝浜庢槸 `Origin: http://192.168.177.26:8080` 鍛戒腑涓嶄簡鐧藉悕鍗曪紝`CorsFilter` 鐩存帴杩斿洖 403 `Invalid CORS request`锛堝疄娴嬫姤鏂囪鐢ㄤ緥 C2锛夈��
+
+杩欒В閲婁簡"椤甸潰姝e父銆佷竴鐧诲綍灏辩綉缁滈敊璇�"锛氶〉闈� HTML/JS 涓� `GET /api/auth/captcha-config` 閮戒笉甯� `Origin` 鍥犺�屼笉鍙楀奖鍝嶏紙鐧诲綍椤佃兘鏄剧ず"娴嬭瘯妯″紡"鎻愮ず鍗宠瘉鏄庤 GET 鎴愬姛锛夈��
+
+**杩炲甫椋庨櫓锛堟湰娆′竴骞惰В鍐筹級**锛氭墦鍖呴儴缃叉槸鍓嶇鍐呭祵銆佷笌鎺ュ彛鍚屾簮鍦� 8090锛屾祻瑙堝櫒 POST 鍚屾牱浼氬甫 `Origin: http://<閮ㄧ讲鏈篒P>:8090`锛岀敤 IP 璁块棶鏃朵細鍚屾牱琚� 403 鎸′綇鐧诲綍銆�
+
+**鏀瑰姩**锛�2 涓枃浠讹紝`CorsConfig.java` / `application.yml`锛夛細
+
+- `config.setAllowedOrigins(...)` 鈫� `config.setAllowedOriginPatterns(...)`锛岄粯璁ゆ潵婧愭斁瀹戒负鏈満 + 鍐呯綉缃戞锛歚http://localhost:*`銆乣http://127.0.0.1:*`銆乣http://192.168.*:*`銆乣http://10.*:*`銆乣http://172.*:*`銆�
+- 鐧藉悕鍗曟満鍒朵笉鍙橈紙浠嶆槸鏄惧紡鏉ユ簮鏍¢獙锛岄潪閫氶厤鍏ㄦ斁寮�锛夛紝`allowCredentials` 浠嶄负 `false`锛涘鏀圭敤鍩熷悕璁块棶锛岄渶鎶婂煙鍚嶏紙鍚鍙o級杩藉姞鍒� `app.cors.allowed-origins`锛堝凡鍐欏叆 yml 娉ㄩ噴锛夈��
+
+## 浜屻�佹祴璇曠幆澧�
+
+- 鍚庣锛�8090锛屾敼鍚庢寜 PID 绮剧‘閲嶅惎锛坄cmd鈫抝ava(maven)鈫抝ava(app)`锛夛紝`Started TrafficAuditApplication` / `Tomcat started on port(s): 8090 (http)`銆�
+- 鍓嶇锛�8080锛宒ev-server 鏈噸鍚紝椤甸潰涓庝唬鐞嗘部鐢ㄦ湰娆″惎鍔ㄥ疄渚嬨��
+- 娴忚鍣細Codex 搴旂敤鍐呮祻瑙堝櫒锛宍http://192.168.177.26:8080/#/login`锛堢湡瀹炴祻瑙堝櫒璺緞锛岄潪妯℃嫙锛夈��
+- 鍛戒护琛屽鐓э細`curl.exe` 鐩村彂鍚屼竴 URL锛岀敤浜庡尯鍒�"鏈嶅姟绔嫆缁�"涓�"娴忚鍣ㄤ晶澶辫触"銆�
+- 璐﹀彿锛歚admin`锛堟湰鏈哄簱瀵嗙爜 `123456`锛夈��
+
+## 涓夈�佺敤渚嬩笌缁撴灉
+
+| 缂栧彿 | 鐢ㄤ緥 | 杈撳叆 | 棰勬湡 | 瀹為檯 | 缁撹 |
+| --- | --- | --- | --- | --- | --- |
+| C1 | 澶嶇幇锛堜慨澶嶅墠锛屾祻瑙堝櫒锛� | `192.168.177.26:8080/#/login` 杈撳叆 admin/123456 鐐圭櫥褰� | 澶嶇幇"缃戠粶閿欒锛岀櫥褰曞け璐�" | 椤甸潰鎻愮ず銆岀綉缁滈敊璇紝鐧诲綍澶辫触銆嶏紝URL 鍋滃湪 `#/login` | 澶嶇幇鎴愬姛 |
+| C2 | 澶嶇幇锛堜慨澶嶅墠锛屽懡浠よ锛� | POST `/api/auth/login`锛屽甫 `Origin: http://192.168.177.26:8080` | 鑳藉畾浣嶅埌鏈嶅姟绔嫆缁� | `HTTP/1.1 403 Forbidden` + `Invalid CORS request` | 澶嶇幇鎴愬姛锛堝畾浣嶆牴鍥狅級 |
+| C3 | 瀵圭収锛堜慨澶嶅墠锛� | 鍚� C2 浣嗕笉甯� `Origin` | 姝e父 | 200 涓旇繑鍥� token | 閫氳繃锛堣瘉鏄庡樊寮傛潵鑷� Origin锛� |
+| C4 | 淇鍚� LAN 鏉ユ簮 | POST `/api/auth/login`锛屽甫 `Origin: http://192.168.177.26:8080` | 200 | 200 + token锛坄绠$悊鍛榒/5 妯″潡锛� | 閫氳繃锛堟鍚戯級 |
+| C5 | 淇鍚庢祻瑙堝櫒瀹炵櫥 | `http://192.168.177.26:8080/#/login` 杈撳叆 admin/123456 | 鐧诲綍鎴愬姛杩涘伐浣滃彴 | 鎻愮ず銆岀櫥褰曟垚鍔熴�嶏紝璺宠浆 `#/dashboard`锛岄《閮ㄦ樉绀� admin | 閫氳繃锛堟鍚戯紝绔埌绔級 |
+| C6 | 鏈満鏉ユ簮鍥炲綊 | `Origin: http://localhost:8080` | 200 | 200 | 閫氳繃锛堟棤鍥炲綊锛� |
+| C7 | 鍚屾簮閮ㄧ讲鍦烘櫙 | 鐩磋繛 8090锛屽甫 `Origin: http://192.168.177.26:8090` | 200 | 200 | 閫氳繃锛堟鍚戯級 |
+| C8 | 鍐呯綉缃戞鏉ユ簮 | 甯� `Origin: http://10.1.2.3:8080` | 200 | 200 | 閫氳繃锛堟鍚戯級 |
+| C9 | 棰勬璇锋眰 | `OPTIONS /api/auth/login` + `Origin: http://192.168.177.26:8080` | 200 涓斿洖鏄炬斁琛屾潵婧� | 200锛宍Access-Control-Allow-Origin: http://192.168.177.26:8080`锛屾柟娉� `GET,POST,PUT,DELETE,OPTIONS` | 閫氳繃 |
+| C10 | 鏃� Origin 澶� | POST `/api/auth/login`锛坈url 鐩磋繛 8090锛� | 涓嶅彈褰卞搷 | 200 | 閫氳繃 |
+| C11 | 闈炴硶鏉ユ簮 | `Origin: http://evil.example.com` | 鎷掔粷 | 403 `Invalid CORS request` | 閫氳繃锛堣礋鍚戯紝鐧藉悕鍗曚粛鐢熸晥锛� |
+| C12 | 甯︿护鐗屼笟鍔℃帴鍙� | LAN 鏉ユ簮 + `Bearer` 浠ょ墝 GET `/api/user/list` | 200 | 200 | 閫氳繃 |
+
+## 鍥涖�佸彂鐜扮殑闂涓庡缃�
+
+1. **CORS 鐧藉悕鍗曡繃绐勫鑷村眬鍩熺綉 IP/鍚屾簮 IP 璁块棶鐧诲綍澶辫触**锛堟湰娆′富闂锛夛細宸叉敼涓烘寜妯″紡鏀捐鏈満 + 鍐呯綉缃戞锛岃涓婏紱闈炴硶澶栭儴鏉ユ簮浠� 403銆�
+2. 鍓嶇 dev 鏃ュ織鏄剧ず `Network: unavailable`锛坴ue-cli 鏈帰娴嬪埌缃戝崱鍦板潃锛夛紝浣� 8080 瀹為檯鐩戝惉 `0.0.0.0`銆佸眬鍩熺綉璁块棶姝e父锛圕5 瀹炴祴锛夛紝灞炴棩蹇楁彁绀洪棶棰橈紝涓嶅鐞嗐��
+3. 銆岀綉缁滈敊璇紝鐧诲綍澶辫触銆嶈繖涓�鎻愮ず鎶� 403/500 绛夋湁鍝嶅簲鐨勯敊璇篃褰掑埌"缃戠粶閿欒"锛屾帓鏌ユ椂瀹规槗璇锛沗Login.vue` 鏈敼鍔紝鍒椾负鍚庣画鍙�変紭鍖栭」銆�
+
+## 浜斻�佺粨璁�
+
+灞�鍩熺綉 IP锛坄http://192.168.177.26:8080/`锛夌櫥褰曞け璐ラ棶棰樺凡淇锛屽懡浠よ璧版煡锛圕4/C6/C7/C8/C9/C10/C12锛変笌鐪熷疄娴忚鍣ㄧ鍒扮鐧诲綍锛圕5锛夊叏閮ㄩ�氳繃锛岀櫧鍚嶅崟璐熷悜鐢ㄤ緥锛圕11锛変粛鐒舵嫤鎴紝鏈紩鍏ラ壌鏉�/璺ㄥ煙鍥炲綊銆�
diff --git "a/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-16.md" "b/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-16.md"
new file mode 100644
index 0000000..75be497
--- /dev/null
+++ "b/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-16.md"
@@ -0,0 +1,40 @@
+# 宸ヤ綔鏃ョ粨_2026-09-16
+
+## 涓�銆佷粖澶╁仛浜嗕粈涔�
+
+### 1. 鐜鍚姩
+- 11:12 鐢� `start-dev.ps1` 鍚姩鍓嶅悗绔紙鍚姩鍓� 8090/8080 鍧囩┖闂诧級銆�
+- 灏辩华鏍囧織锛氬悗绔� `Tomcat started on port(s): 8090` / `Started TrafficAuditApplication`锛涘墠绔� `Compiled successfully` / `App running at:`銆�
+
+### 2. 淇銆岀敤灞�鍩熺綉 IP 鎵撳紑椤甸潰鍚庣櫥褰曞け璐ャ��
+- **鐢ㄦ埛鍙嶉**锛氱敤 `http://192.168.177.26:8080/` 鐧诲綍鎻愮ず銆岀綉缁滈敊璇紝鐧诲綍澶辫触銆嶏紝鑰� `http://localhost:8080/` 姝e父銆�
+- **鎺掓煡璺緞**锛歝url 鐩村彂鍚屼竴 URL 鐨� POST `/api/auth/login` 姝e父杩斿洖锛堣鏄庡悗绔笌浠g悊閮介�氾級鈫� 鐢ㄥ簲鐢ㄥ唴娴忚鍣ㄥ湪 LAN 鍦板潃澶嶇幇锛堢‘瀹炴彁绀恒�岀綉缁滈敊璇紝鐧诲綍澶辫触銆嶏級鈫� 瀵规瘮鍑哄樊寮傚彧鍦� `Origin` 澶� 鈫� curl 琛� `Origin: http://192.168.177.26:8080` 寰楀埌 `403 Invalid CORS request`锛屾牴鍥犺惤鍦般��
+- **鏍瑰洜**锛氭祻瑙堝櫒 POST/PUT/DELETE 蹇呭甫 `Origin`锛圙ET 涓嶅甫锛夛紱9-14 璺ㄥ煙鏀剁揣鍚庣櫧鍚嶅崟鍙垪浜� `localhost:8080 / 127.0.0.1:8080`锛岀粡 dev-server 浠g悊杞彂杩囨潵鐨� `Origin: http://192.168.177.26:8080` 鍛戒腑涓嶄簡锛岃 `CorsFilter` 403 鎷︽帀銆傞〉闈㈡湰韬拰 `GET /api/auth/captcha-config` 涓嶅甫 `Origin` 鎵�浠ユ甯革紝琛ㄧ幇涓�"椤甸潰鑳藉紑銆佷竴鐧诲綍灏辩綉缁滈敊璇�"銆�
+- **椤哄甫鍙戠幇**锛氭墦鍖呴儴缃诧紙鍓嶇鍐呭祵銆佺敤 `http://<閮ㄧ讲鏈篒P>:8090` 璁块棶锛夋椂 POST 鍚屾牱甯� `Origin: http://<IP>:8090`锛屼篃浼氳 403 鎸′綇鐧诲綍鈥斺�斿睘浜庡悓绫婚殣鎮o紝鏈涓�骞惰В鍐炽��
+- **鏀瑰姩锛�2 鏂囦欢锛�**锛歚CorsConfig.java` 鐢� `setAllowedOrigins` 鏀逛负 `setAllowedOriginPatterns`锛岄粯璁ゆ斁琛� `http://localhost:*`銆乣http://127.0.0.1:*`銆乣http://192.168.*:*`銆乣http://10.*:*`銆乣http://172.*:*`锛沗application.yml` 鐨� `app.cors.allowed-origins` 鍚屾骞惰ˉ娉ㄩ噴銆傜櫧鍚嶅崟鏍¢獙鏈哄埗涓� `allowCredentials=false` 鍧囨湭鏀炬澗銆�
+- **楠岃瘉**锛氭寜 PID 绮剧‘鍋滄棫鍚庣閾撅紙`cmd 3608 鈫� java(maven) 23704 鈫� java(app) 12636`锛夊悗閲嶅惎锛涘簲鐢ㄥ唴娴忚鍣ㄥ湪 LAN 鍦板潃瀹炵櫥鎴愬姛杩涘叆 `#/dashboard`锛涚櫧鍚嶅崟璐熷悜鐢ㄤ緥锛坄http://evil.example.com`锛変粛 403銆傝瑙併�婂姛鑳芥祴璇曟姤鍛奯灞�鍩熺綉IP璁块棶鐧诲綍CORS淇_2026-09-16.md銆嬨��
+
+## 浜屻�佹祴璇曠粨鏋滄憳瑕�
+
+- CORS 淇 12 鏉$敤渚嬪叏閫氳繃锛氭鍚戯紙LAN 鏉ユ簮銆佸悓婧� 8090 鏉ユ簮銆佸唴缃戠綉娈垫潵婧愩�佸甫浠ょ墝涓氬姟鎺ュ彛銆侀妫� OPTIONS锛夈�佽礋鍚戯紙闈炴硶鏉ユ簮 403锛夈�佸洖褰掞紙localhost 鏉ユ簮銆佹棤 Origin 澶达級銆�
+- 鐪熷疄娴忚鍣ㄧ鍒扮锛歚http://192.168.177.26:8080/#/login` 杈撳叆 `admin/123456` 鈫� 鎻愮ず銆岀櫥褰曟垚鍔熴�嶁啋 璺宠浆宸ヤ綔鍙帮紝椤堕儴鏄剧ず admin銆�
+- 浠婃棩鏃犲鍏�/鏁版嵁搴撳啓鍏ユ搷浣滐紝鏈仛鍏ュ簱鎶芥煡锛堟敼鍔ㄥ彧娑夊強璺ㄥ煙鏍¢獙锛屼笉瑙︾鏁版嵁閾捐矾锛夈��
+
+## 涓夈�侀仐鐣欓棶棰樹笌寰呭姙
+
+1. **鏀圭敤鍩熷悕璁块棶鏃堕渶琛ョ櫧鍚嶅崟**锛歚app.cors.allowed-origins` 榛樿鍙鐩栨湰鏈� + 鍐呯綉缃戞锛岃嫢灏嗘潵鐢ㄥ煙鍚嶆垨鍏綉 IP 璁块棶锛岄渶鎶婅鏉ユ簮锛堝惈绔彛锛夎拷鍔犺繘鍘伙紙yml 娉ㄩ噴宸插啓鏄庯級銆�
+2. `Login.vue` 鎶婃墍鏈夊け璐ラ兘鎻愮ず涓恒�岀綉缁滈敊璇紝鐧诲綍澶辫触銆嶏紝403/500 杩欑被鏈夊搷搴旂殑閿欒涔熻褰掑埌"缃戠粶"锛屾帓鏌ユ槗璇锛涘缓璁悗缁寜鐘舵�佺爜缁嗗垎鎻愮ず锛堟湭鍋氾紝绛夌敤鎴风‘璁わ級銆�
+3. 9-15 閬楃暀缁х画鎸傝处锛欰I 澶栧彂鑴辨晱琛ラ綈锛坰ystem prompt 浼佷笟鍚�/瑙i噴鍘熸枃鏈劚鏁忥級銆佷繚瀵嗘暟鎹儴缃茶矾绾跨‘璁ゃ��4 寮犳槑缁嗘姤琛ㄦā鏉挎墿鍒椼�佸鏍告瘮瀵瑰熀鍑嗙己澶变繚鎶ゃ�乣sys_role` 鏉冮檺钀藉湴銆�3D 楠岃瘉鐮佺敓浜у紑鍚�乣backend.log` 鍘嗗彶鏄庢枃娓呯悊銆�
+4. 浠撳簱鏍圭洰褰曚粛鏈夊ぇ閲忔湭璺熻釜涓存椂鏂囦欢锛坄_*.py`/`_*.sql`/`_*.ps1` 绛夛級鏈 `.gitignore` 瑕嗙洊锛屾竻鐞嗗墠闇�鐢ㄦ埛纭銆�
+5. 鍏徃 gitea锛坄61.183.254.94:3000`锛夋帹閫佷粛鍙楁湰鏈哄嚟鎹棶棰樺奖鍝嶏紱浠婃棩鎸夌 3 鏉″伐浣滆鑼冨皾璇� fetch/鍚堝苟/鎺ㄩ�侊紝缁撴灉瑙佷笅鏉� git 璁板綍銆�
+
+## 鍥涖�佹槑澶╄鍒�
+
+1. 涓庣敤鎴风‘璁ゅ煙鍚�/鍏朵粬璁块棶鏂瑰紡鏄惁闇�瑕佷竴骞跺姞鐧藉悕鍗曪紝骞剁‘璁� `Login.vue` 閿欒鎻愮ず缁嗗垎鏂规鏄惁瀹炴柦銆�
+2. 鎺ㄨ繘 AI 澶栧彂鑴辨晱琛ラ綈锛堢害 20 琛屾敼鍔級锛屽畬鎴愬悗鍐欍�婂姛鑳芥祴璇曟姤鍛娿�嬶紝娌跨敤"鍋� DeepSeek 鏈嶅姟鎶撳寘"鍋氭姤鏂囩骇楠岃瘉銆�
+3. 缁х画鎺ㄨ繘鎶ヨ〃妯℃澘鎵╁垪 / 瀹℃牳鍩哄噯淇濇姢绛夋寕璐﹂」銆�
+
+## 浜斻�乬it 璁板綍
+
+- 鏈鏀瑰姩锛歚CorsConfig.java`銆乣application.yml`銆佹湰鎶ュ憡涓庢棩鏈棩缁撱��
+- 娴佺▼锛氬厛鍐欍�婂姛鑳芥祴璇曟姤鍛娿�嬩笌鏈�婂伐浣滄棩缁撱�嬶紝鍐� `git fetch origin`锛坓itee锛宍master`锛変笌 `git fetch gitea`锛堝叕鍙革紝`main`锛夊姣斿悎骞讹紝纭鏃犲啿绐佸悗鎻愪氦骞舵帹閫併��
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/common/config/CorsConfig.java b/traffic-audit-server/src/main/java/com/trafficaudit/common/config/CorsConfig.java
index 60d9193..fd7cba6 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/common/config/CorsConfig.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/common/config/CorsConfig.java
@@ -12,14 +12,16 @@
import java.util.List;
/**
- * 璺ㄥ煙閰嶇疆锛氬彧鍏佽閰嶇疆涓垪鍑虹殑鏉ユ簮璁块棶鎺ュ彛銆�
- * 鍓嶅悗绔垎绂绘湰鍦板紑鍙戦粯璁ゆ斁琛� 8080锛涘墠绔粡 dev-server 浠g悊鎴栦笌鍚庣鍚屾簮閮ㄧ讲鏃跺潎涓嶉渶瑕侀澶栨斁琛屻��
+ * 璺ㄥ煙閰嶇疆锛氬彧鍏佽閰嶇疆涓垪鍑虹殑鏉ユ簮锛堟敮鎸� * 閫氶厤锛夎闂帴鍙c��
+ * 娴忚鍣ㄥ彂璧� POST/PUT/DELETE 鏃朵細甯� Origin 澶达紙GET 涓嶅甫锛夛紝鍥犳鐢ㄥ眬鍩熺綉 IP 鎵撳紑椤甸潰鏃讹紝
+ * 鑻ヨ鏉ユ簮涓嶅湪鏀捐鍒楄〃鍐呬細琚� CorsFilter 鍒や负闈炴硶骞惰繑鍥� 403锛岃〃鐜颁负鐧诲綍鏃舵彁绀衡�滅綉缁滈敊璇�濄��
+ * 榛樿鏀捐鏈満涓庡唴缃戠綉娈电殑浠绘剰绔彛锛堟湰鍦板紑鍙戙�佸眬鍩熺綉璁块棶銆両P 鏂瑰紡璁块棶 8090 鍚屾簮閮ㄧ讲閮借鐩栵級銆�
* 娉ㄦ剰锛氫笉寮�鍚� allowCredentials锛堟帴鍙g敤 Bearer 浠ょ墝閴存潈锛屼笉渚濊禆 Cookie锛夛紝閬垮厤浠绘剰绔欑偣鎼哄甫鍑瘉璋冪敤銆�
*/
@Configuration
public class CorsConfig {
- @Value("${app.cors.allowed-origins:http://localhost:8080,http://127.0.0.1:8080}")
+ @Value("${app.cors.allowed-origins:http://localhost:*,http://127.0.0.1:*,http://192.168.*:*,http://10.*:*,http://172.*:*}")
private String allowedOrigins;
private List<String> originList() {
@@ -29,7 +31,7 @@
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration config = new CorsConfiguration();
- config.setAllowedOrigins(originList());
+ config.setAllowedOriginPatterns(originList());
config.setAllowedHeaders(Arrays.asList("Authorization", "Content-Type", "Accept", "X-Requested-With"));
config.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE", "OPTIONS"));
config.setAllowCredentials(false);
@@ -43,4 +45,4 @@
public CorsFilter corsFilter() {
return new CorsFilter(corsConfigurationSource());
}
-}
\ No newline at end of file
+}
diff --git a/traffic-audit-server/src/main/resources/application.yml.example b/traffic-audit-server/src/main/resources/application.yml.example
index f9ec2dd..dc87cf7 100644
--- a/traffic-audit-server/src/main/resources/application.yml.example
+++ b/traffic-audit-server/src/main/resources/application.yml.example
@@ -70,7 +70,9 @@
# Behavior captcha on login. Set to false to skip verification during test phase; enable before production release.
app:
cors:
- # 鍏佽璺ㄥ煙璁块棶鎺ュ彛鐨勬潵婧愶紙閫楀彿鍒嗛殧锛�
- allowed-origins: http://localhost:8080,http://127.0.0.1:8080
+ # 鍏佽璺ㄥ煙璁块棶鎺ュ彛鐨勬潵婧愶紙閫楀彿鍒嗛殧锛屾敮鎸� * 閫氶厤涓绘満涓庣鍙o級锛�
+ # 娴忚鍣� POST/PUT/DELETE 蹇呭甫 Origin锛圙ET 涓嶅甫锛夛紝鏁呯敤 IP/鍩熷悕鎵撳紑椤甸潰鏃惰鏉ユ簮蹇呴』鍛戒腑姝ゅ垪琛紝鍚﹀垯 403銆�
+ # 榛樿鏀捐鏈満涓庡唴缃戠綉娈碉紱鑻ラ�氳繃鍩熷悕璁块棶锛岃鎶婅鍩熷悕锛堝惈绔彛锛夎拷鍔犲埌姝ゅ銆�
+ allowed-origins: http://localhost:*,http://127.0.0.1:*,http://192.168.*:*,http://10.*:*,http://172.*:*
captcha:
required: false
--
Gitblit v1.9.1