OpenResty如何配置跨域
时间: 2024-05-28 12:06:13 浏览: 187
OpenResty是一个基于Nginx的Web应用服务器,它通过Lua脚本语言扩展了Nginx的功能。要配置跨域,可以通过在OpenResty的配置文件中添加相应的配置项来实现。
以下是一种常见的配置跨域的方法:
1. 打开OpenResty的配置文件,通常是`nginx.conf`。
2. 在`http`块中添加以下配置项:
```
http {
...
lua_shared_dict cors 10m;
init_by_lua_block {
local cors = require "cors"
cors.init({
origin = "*", -- 允许所有来源
methods = "GET,HEAD,PUT,PATCH,POST,DELETE", -- 允许的HTTP方法
headers = "*", -- 允许所有请求头
exposedHeaders = "", -- 允许暴露的响应头
maxAge = 3600 -- 预检请求的有效期
})
}
...
}
```
3. 在`server`块中添加以下配置项:
```
server {
...
location / {
if ($request_method = 'OPTIONS') {
set $cors_preflight_request_method $request_method;
set $cors_preflight_request_headers $http_access_control_request_headers;
content_by_lua_block {
local cors = require "cors"
cors.preflight()
}
}
set $cors_origin '';
set $cors_credentials 'true';
content_by_lua_block {
local cors = require "cors"
cors.process()
}
}
...
}
```
这样配置后,OpenResty会在每个请求中自动处理跨域相关的头部信息,实现跨域访问。
阅读全文