OpenResty正确配置跨域
时间: 2024-04-19 22:22:10 浏览: 224
openresty配置启动小技巧
OpenResty是一个基于Nginx的Web应用服务器,它可以通过配置实现跨域请求。下面是一种正确配置跨域的方法:
1. 在OpenResty的配置文件中,找到`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 -- 预检请求的有效期
})
}
...
}
```
2. 在OpenResty的配置文件中,找到`server`块,并在其中添加以下内容:
```
server {
...
location / {
if ($request_method = 'OPTIONS') {
set $cors_preflight_request_method $http_access_control_request_method;
set $cors_preflight_request_headers $http_access_control_request_headers;
content_by_lua_block {
local cors = require "cors"
cors.preflight()
}
return 204;
}
set $cors_origin '*';
set $cors_method $request_method;
set $cors_headers $http_access_control_request_headers;
content_by_lua_block {
local cors = require "cors"
cors.process()
}
}
...
}
```
这样配置后,OpenResty会在每个请求中自动处理跨域相关的头部信息,允许来自任何来源的请求,并且允许常见的HTTP方法。你也可以根据需要进行自定义配置。
阅读全文