深色模式
go-zero支持前端跨域访问
说明
在go-zero中直接支持前端跨域访问,只需添加1行代码:
在main.go
中:
go
// 启动服务
server := rest.MustNewServer(c.RestConf,
// 跨域
rest.WithCors("*"),
// ...
)
这种设置跨域的方式,在本地运行代码的时候很有用。但是,部署到服务器时,一般通过Nginx设置跨域。
另外:Nginx支持跨域
nginx
location / {
# 允许 请求来源
add_header Access-Control-Allow-Origin *;
# 允许 请求方法
add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
# 允许 请求头
add_header Access-Control-Allow-Headers 'Keep-Alive, User-Agent, If-Modified-Since, Cache-Control, Content-Type, Authorization';
# 允许 请求携带cookie,这个值只能设为true,如果不允许就不要这一行
# add_header Access-Control-Allow-Credentials true;
# 指定浏览器 getResponseHeader() 方法可以获取的 header
add_header Access-Control-Expose-Headers 'Authorization';
# 本次预检的有效时间
add_header Access-Control-Max-Age 172800;
# 对预检请求返回 204
if ($request_method = 'OPTIONS') {
# 204 代表 No Content,成功处理请求
return 204;
}
# ...
}