Nginx跨域訪問配置方式(Web反向代理跨域訪問配置)
Nginx跨域訪問配置(Web反向代理跨域訪問配置)
出于安全的原因,瀏覽器限制從腳本內發(fā)起跨域的HTTP請求,除非響應報文中包含了允許瀏覽器解析報文的CORS響應頭
也就是說,響應報文的頭中要有以下幾個響應頭
Nginx要使用add_header添加這幾個響應頭
1.前后端分離的工程
一般情況下是使用Ajax訪問后端接口
Ajax的請求頭為X-Requested-With
因此服務端要允許X-Requested-With的請求頭
add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
2.服務端要配置哪些域
是可以跨域訪問到本服務器資源的
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.服務器端要指定HTTP請求的方法
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'
# 由于跨域請求,瀏覽器會先發(fā)送一個OPTIONS的預檢請求,我們可以緩存第一次的預檢請求的失效時間
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請求頭詳解點這里查看。
對于跨域的配置,不是只有Nginx可以配置,在Spring中也提供了跨域訪問的配置
詳見CorsFilter、CorsConfiguration、UrlBasedCorsConfigurationSource
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
nginx?sticky實現(xiàn)基于cookie負載均衡示例詳解
這篇文章主要為大家介紹了nginx?sticky實現(xiàn)基于cookie負載均衡示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
實現(xiàn)Nginx中使用PHP-FPM時記錄PHP錯誤日志的配置方法
最近在本地搭建的LNMP的開發(fā)環(huán)境。為了開發(fā)的時候不影響前端的正常開發(fā)就屏蔽的PHP里面php.ini中的一些錯誤提示。但是這樣一來,就影響到了后端開發(fā)的一些問題比如不能及時調試開發(fā)中的一些問題2014-05-05
詳解nginx前端根據(jù)$remote_addr分發(fā)方法
這篇文章主要介紹了詳解nginx前端根據(jù)$remote_addr分發(fā)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
Nginx?Location映射規(guī)則總結歸納與最佳實踐
Nginx的location指令是配置請求路由的核心機制,其匹配規(guī)則直接影響請求的處理流程,下面給大家介紹Nginx?Location映射規(guī)則總結歸納,感興趣的朋友一起看看吧2025-06-06

