Nginx跨域訪問配置方式(Web反向代理跨域訪問配置)
Nginx跨域訪問配置(Web反向代理跨域訪問配置)
出于安全的原因,瀏覽器限制從腳本內(nèi)發(fā)起跨域的HTTP
請(qǐng)求,除非響應(yīng)報(bào)文中包含了允許瀏覽器解析報(bào)文的CORS
響應(yīng)頭
也就是說,響應(yīng)報(bào)文的頭中要有以下幾個(gè)響應(yīng)頭
Nginx
要使用add_header
添加這幾個(gè)響應(yīng)頭
1.前后端分離的工程
一般情況下是使用Ajax
訪問后端接口
Ajax
的請(qǐng)求頭為X-Requested-With
因此服務(wù)端要允許X-Requested-With
的請(qǐng)求頭
add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
2.服務(wù)端要配置哪些域
是可以跨域訪問到本服務(wù)器資源的
add_header 'Access-Control-Allow-Origin' '*';
注意:
- 如果使用了
add_header 'Access-Control-Allow-Credentials' 'true'
- 那么不能使用通配符
add_header 'Access-Control-Allow-Origin' 'www.baidu.com'; add_header 'Access-Control-Allow-Credentials' 'true';
3.服務(wù)器端要指定HTTP請(qǐng)求的方法
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS'
案例
add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With'; add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS' # 由于跨域請(qǐng)求,瀏覽器會(huì)先發(fā)送一個(gè)OPTIONS的預(yù)檢請(qǐng)求,我們可以緩存第一次的預(yù)檢請(qǐng)求的失效時(shí)間 if ($request_method = 'OPTIONS') { add_header 'Access-Control-Max-Age' 2592000; add_header 'Content-Type' 'text/plain; charset=utf-8'; add_header 'Content-Length' 0; return 204; }
HTTP
請(qǐng)求頭詳解點(diǎn)這里查看。
對(duì)于跨域的配置,不是只有Nginx
可以配置,在Spring
中也提供了跨域訪問的配置
詳見CorsFilter
、CorsConfiguration
、UrlBasedCorsConfigurationSource
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx端口被占用的解決方案(systemctl restart nginx失敗)
ginx (engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器,它也是一種輕量級(jí)的Web服務(wù)器,可以作為獨(dú)立的服務(wù)器部署網(wǎng)站(類似Tomcat),本文給大家介紹了NGINX啟動(dòng)報(bào)錯(cuò),端口被占用解決方案,需要的朋友可以參考下2024-10-10Nginx服務(wù)器做負(fù)載均衡反向代理的超級(jí)攻略
這篇文章主要介紹了Nginx服務(wù)器做負(fù)載均衡反向代理的超級(jí)攻略,包括緩存的相關(guān)設(shè)定以及負(fù)載均衡的一些常見問題的解決,極力推薦!需要的朋友可以參考下2015-08-08Nginx+ModSecurity安全模塊部署的實(shí)現(xiàn)
本文主要介紹了Nginx+ModSecurity安全模塊部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Nginx-Proxy-Manager可視化管理平臺(tái)的使用
Nginx-Proxy-Manager是一個(gè)基Web的Nginx服務(wù)器管理工具,它允許用戶通過瀏覽器界面輕松地管理和監(jiān)控Nginx服務(wù)器,本文主要介紹了Nginx-Proxy-Manager可視化管理平臺(tái)的使用,感興趣的可以了解一下2024-08-08Nginx出現(xiàn)請(qǐng)求重復(fù)提交的處理方法
在網(wǎng)絡(luò)世界的大舞臺(tái)上,Nginx 就像是一位兢兢業(yè)業(yè)的交通警察,指揮著網(wǎng)絡(luò)請(qǐng)求的有序流動(dòng),然而,有時(shí)候也會(huì)出現(xiàn)一些讓人頭疼的狀況,比如請(qǐng)求的重復(fù)提交,該如何應(yīng)對(duì)呢?本文介紹了Nginx出現(xiàn)請(qǐng)求重復(fù)提交的處理方法,需要的朋友可以參考下2024-07-07使用nginx如何實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)的功能
文章介紹了如何配置Nginx作為反向代理服務(wù)器,實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)和負(fù)載均衡,并進(jìn)行了靜態(tài)和動(dòng)態(tài)內(nèi)容分離,主要步驟包括修改Nginx默認(rèn)端口、配置轉(zhuǎn)發(fā)規(guī)則和修改配置文件2024-12-12