参考:https://www.cnblogs.com/PengfeiSong/p/12993446.html
@
概要
这个跨域我之前配置过,昨天搜了下教程没有配成功,今天上午又花了近一上午才搞定,特意过来记录下
代码
server {
listen 80;
server_name api.xxx.space;
client_max_body_size 50M;
error_log /home/log/xx-search-error.log;
access_log /home/log/xx-search.log;
location / {
proxy_pass http://127.0.0.1:13001;
}
location /api {
proxy_pass http://127.0.0.1:13001/api;
# 指定允许跨域的方法,*代表所有
add_header Access-Control-Allow-Methods *;
# 预检命令的缓存,如果不缓存每次会发送两次请求
add_header Access-Control-Max-Age 3600;
# 带cookie请求需要加上这个字段,并设置为true
add_header Access-Control-Allow-Credentials true;
# 表示允许这个域跨域调用(客户端发送请求的域名和端口)
# $http_origin动态获取请求客户端请求的域 不用*的原因是带cookie的请求不支持*号
add_header Access-Control-Allow-Origin $http_origin;
# 表示请求头的字段 动态获取
add_header Access-Control-Allow-Headers
$http_access_control_request_headers;
# OPTIONS预检命令,预检命令通过时才发送请求
# 检查请求的类型是不是预检命令
if ($request_method = OPTIONS){
return 200;
}
}
}
小结
不要轻易相信百度ai出来的答案,最好还是看看别人写的文章
标签:Control,请求,Access,nginx,add,文档,log,跨域 From: https://www.cnblogs.com/warrenwt/p/18236860