nginx 解决图片上传跨域
时间: 2023-09-23 07:10:37 浏览: 205
docker部署nginx,挂载多个前端部署目录以及跨域问题解决方案.txt
5星 · 资源好评率100%
要解决图片上传跨域问题,你可以在 nginx 的配置文件中添加相应的配置。以下是一种常见的解决方法:
1. 打开 nginx 的配置文件,一般位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d/default.conf`。
2. 在 `http` 块中添加以下配置:
```
location /upload {
# 允许跨域请求的域名
add_header Access-Control-Allow-Origin http://example.com;
# 允许的请求方法
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
# 允许的请求头
add_header Access-Control-Allow-Headers 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
# 是否允许发送 Cookie
add_header Access-Control-Allow-Credentials true;
# 预检请求的有效期
add_header Access-Control-Max-Age 3600;
# 处理预检请求,返回 200
if ($request_method = 'OPTIONS') {
return 200;
}
# 其他请求交给后端处理
proxy_pass http://backend_server;
}
```
其中,`http://example.com` 是允许跨域请求的域名,你需要根据实际情况修改。
3. 将 `backend_server` 替换为后端服务器的地址。
4. 保存配置文件并重启 nginx。
这样配置后,nginx 会在接收到 `/upload` 路径的请求时添加跨域相关的响应头,从而解决图片上传的跨域问题。请确保你的前端代码发送的请求路径与上述配置中的路径保持一致。
阅读全文