password
查看人数
type
status
date
slug
summary
category
icon
tags
作者
状态
nginx可以通过跨域资源共享(CORS)的方式解决跨域问题。主要有两种方式:
1. 简单请求:对于简单请求,只需在nginx配置文件中添加以下配置:
这个配置允许来自所有域(Access-Control-Allow-Origin *)的GET, POST, OPTIONS请求,并允许指定的请求头。并对OPTIONS预检请求直接返回204。
2. 复杂请求:对于复杂请求(如请求方式为PUT或DELETE,或者contentType为application/json),需要在响应中添加以下头:
同时需要在Options预检请求相应中返回:
这样就完成了nginx跨域配置,主要原理是:
1. 跨域请求首先发起OPTIONS请求(预检请求)
2. nginx根据配置返回200和相关Access-Control-Allow-*首部
3. 确认请求可跨域后,客户端发起真实请求
4. nginx根据配置返回Access-Control-Allow-*首部
5. 客户端接收到响应,跨域请求完成
通过这两种方式(简单/复杂),nginx可以解决大多数跨域场景下的问题。
完整的配置文件
- 作者:躁静有徒
- 链接:https://blog.zaojingyoutu.top//article/c43777b9-a51e-f629-0ceb-6fe13dc56ec4
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章